how para copiar automáticamente filas en una nueva hoja VBA Excel
Estoy tratando deauto-copy
una fila de unamaster
spreadsheet
a otrospreadsheet
. Esto debería ocurrir cuando el valor de entrada en elmaster
es igual aX
.
Así que siX
se ingresa enColumn A
en elmaster
, luegoauto-copy
separarspreadsheet
(llamémoslo X). BásicamenteSheet X
siempre debe contener una copia exacta de todas lasrows
inmaster
dóndeColumn A = X
.
No estoy seguro de si esto afectaría a laauto-copy
pero elmaster sheet
contiene unascript
que oculta / ocultaColumns
. Así que siX
se ingresa enColumn A
en elmaster sheet
luegoColumn B,C
estará oculto yD,E,F
se mostrará
A continuación se muestra un ejemplo de lo que estoy tratando de lograr:
Master Sheet
contiene esta información. Pero siX
se ingresa enColumn A
solamenteD,E,F
será visible
A B C D E F
X 4 5 6
Y 1 2 3 4 5
X 1 2 3
X Hoja:
A D E F
X 4 5 6
X 1 2 3
Esto es lo que he intentado
Sub FilterAndCopy()
Dim sht1 As Worksheet, sht2 As Worksheet
Set sht1 = Sheets("Master")
Set sht2 = Sheets("X")
Intersect(sht2.UsedRange, sht2.Rows("2:" & Rows.Count)).ClearContents
sht1.Cells(1, 1).CurrentRegion.AutoFilter
sht1.Cells(1, 1).CurrentRegion.AutoFilter 1, "X"
sht1.Cells(1, 1).CurrentRegion.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Copy sht2.Cells(2, 1)
sht1.Cells(1, 1).CurrentRegion.AutoFilter
End Sub
Pero devuelve un error:
Microsoft Visual Basic
Object variable with block variable not set