Я пытаюсь auto-copy
ряд из master
spreadsheet
в другой spreadsheet
.Это должно происходить, когда входное значение в master
равно X
.
Таким образом, если X
введено в Column A
в master
, тогда auto-copy
для разделения spreadsheet
(назовем это X).В основном Sheet X
всегда должен содержать точную копию всех rows
в master
, где Column A = X
.
Я не уверен, повлияет ли это на auto-copy
, но master sheet
содержитscript
, который скрывает / показывает Columns
.Таким образом, если X
введено в Column A
в master sheet
, тогда Column B,C
будет скрыто и будет отображаться D,E,F
.
Пример того, чего я пытаюсь достичь, показан ниже:
Master Sheet
содержит эту информацию.Но если X
введено в Column A
, только D,E,F
будет видно
A B C D E F
X 4 5 6
Y 1 2 3 4 5
X 1 2 3
X Лист:
A D E F
X 4 5 6
X 1 2 3
Это то, что я пытался
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
Но возвращается ошибка:
Microsoft Visual Basic
Object variable with block variable not set