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

Respuestas a la pregunta(1)

Su respuesta a la pregunta