1

我一直在尝试自己做这件事,并且搜索了谷歌,但对 VBA 一无所知。如果您知道自己在做什么,我相信这很简单:

表 1 是主电子表格 B 列是查询列

当 B 列中的单元格等于“X”时,我希望将整行复制到工作表 2 中,包括任何条件格式。

我希望这会自动发生并更新或覆盖工作表 2 中的数据(除了第 1 行有标题)。

所以基本上工作表 2 应该始终包含工作表 1 中所有行的精确副本,其中列 B =“X”。

任何帮助将非常感激!

4

1 回答 1

2

假设您的数据从 sheet1 的 A1 开始,此宏会将其传输到 sheet2,覆盖 sheet2 中除第一行之外的所有内容。

Sub FilterAndCopy()
Dim sht1 As Worksheet, sht2 As Worksheet

Set sht1 = Sheets("Sheet1")
Set sht2 = Sheets("Sheet2")

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
于 2012-10-12T17:36:43.220 回答