Excel / VBA代码自动将行复制到另一个工作表

时间:2012-10-12 17:30:21

标签: excel vba

我一直在努力做到这一点,并且已经搜索了谷歌,但没有知道VBA已经出现短缺。如果你知道自己在做什么,我相信这很简单:

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

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

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

所以基本上,Sheet 2应该总是包含Sheet 1中所有行的精确副本,其中B列为“X”。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分: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