Macro VBA. Quiero que copie un rango desde una celda hasta la última con datos pero da error.
Estoy haciendo una Macro y quiero que me copie los datos de una pestaña (BUQUENUEVO) a otra pestaña dentro del mismo libro (VALDEMORO). El problema es que quiero que seleccione en la columna I todas las celdas con datos desde la I2 y luego copie todas las celdas hasta columna A.
Los datos de BUQUENUEVO vienen desde otro Excel. La macro lee pestaña a pestaña del otro excel y hace un loop hasta que no hay más pestañas.
Dónde viene el problema. Cuando en BUQUENUEVO hay más celdas después de la I2 con datos, me selecciona correctamente todas las celdas con datos y copia el rango correcto. Cuando en BUQUENUEVO sólo la celda I2 tiene datos, coge celdas vacías cuando le doy la orden de llegar hasta la última con datos :(
Aquí es donde voy un poco perdida y no se como hacerlo realmente :( Este es el código que me da el error, marcado en negrita.
'Copia y pega las columnas hasta compañia en la pestaña de Valdemoro
ActiveWorkbook. RefreshAll
Sheets("BUQUENUEVO").Select
Rows("1:1").Select
Selection.AutoFilter
Range("K2", Range("K2").End(xlDown).End(xlToLeft).End(xlToLeft).End(xlToLeft).End(xlToLeft).End(xlToLeft)).Select
Selection.Copy
Sheets("VALDEMORO").Select
Columns("K:K").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
ActiveCell. Offset(0, -10). Activate
ActiveSheet. Paste
Había probado también con este código y me da error igual:
'Copia y pega las columnas hasta compañia en la pestaña de Valdemoro
ActiveWorkbook. RefreshAll
Sheets("BUQUENUEVO").Select
Rows("1:1").Select
Selection.AutoFilter
Range("K2").Select
Range(Selection, Selection(xlCellTypeLastCell).Offset(1, 0)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Selection.Copy
Sheets("VALDEMORO").Select
Columns("K).Select
Selection.SpecialCells(xlCellTypeBlanks).Select
ActiveCell.Offset(0, -10).Activate
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False