Macro para Copiar con estas condiciones.

Tengo en Excel una hoja con diez columnas con datos. Sin embargo, la cantidad de filas es variable (Depende de otra hoja).
Necesito generar un informe copiando y pegando en otro libro sólo la primera, la penúltima y la última columna de la hoja de Excel en otra hoja.
Este es el código con el que he estado trabajando:
Range("A1").Select
Do While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(-1, 1).Select
CFin = ActiveCell.Address
RangoPisos = ActiveSheet.Range("A1", CFin)
REM: Acá estoy tratando de seleccionar la primera, la penúltima y la última columna pero no sé cómo hacerlo. :(
ActiveSheet.Range("A1:A11,H1:Activecell").Select
Workbooks.Add
Selection.PasteSpecial Paste:=xlValues
ActiveWorkbook.SaveAs Filename:="C:\Users\oxo\Desktop\Excel - Macros y VBA\Cargas
de Viento.txt"
FileFormat = xlText
CreateBackup = False
Application.DisplayAlerts = True
ActiveWindow.Close
Muchas gracias a quien responda.

1 Respuesta

Respuesta
1
Te dejo ajustada la rutina en su 1era parte. Si necesitas las variables CFin y RangoPisos para otro sector de tu rutina, habilitá las líneas. Para la parte de la copia de col no hacen falta.
Sub copiaCol()
'x Elsamatilde
finx = Range("A65500").End(xlUp).Row
'Range("A1").Select
'Do While ActiveCell <> ""
'ActiveCell.Offset(1, 0).Select
'Loop
'ActiveCell.Offset(-1, 1).Select
'CFin = ActiveCell.Address
'RangoPisos = ActiveSheet.Range("A1", CFin)
Rem: Acá estoy tratando de seleccionar la primera, la penúltima y la última columna
ActiveSheet.Range("A1:A" & finx & ", I1:J" & finx).Copy
Workbooks.Add
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues
ActiveWorkbook.SaveAs Filename:="C:\Users\oxo\Desktop\Excel - Macros y VBA\Cargas de Viento.txt"
FileFormat = xlText
CreateBackup = False
Application.DisplayAlerts = True
ActiveWindow.Close
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas