我有这个代码,它将检查我的xls文件中的列E,如果它不是空白,则将该行复制到新的工作表。但是,我无法找到如何排除细胞。列C,D,E,F和G以及搜索列。如果我正在运行的宏(在这种情况下是E)中有数据,我想复制除C,D,F,G之外的行上的每个单元格。这可能吗?
Sub CopyYes()
Dim c As Range
Dim j As Integer
Dim Source As Worksheet
Dim Target As Worksheet
' Change worksheet designations as needed
Set Source = ActiveWorkbook.Worksheets("Sheet1")
Set Target = ActiveWorkbook.Worksheets("Sheet2")
J = 1 ' Start copying to row 1 in target sheet
For Each c In Source.Range("E1:E1000") ' Do 1000 rows
If c <> "" Then
Source.Rows(c.Row).Copy Target.Rows(j)
j = j + 1
End If
Next c
End Sub
答案 0 :(得分:1)
这是您在代码中添加删除部分的方法:
EventEmitter
如果您有任何疑问,请告诉我。
答案 1 :(得分:0)
最简单的方法是编写一个包含您不想复制的列/行的字符串数组。
然后编写一个if语句,说如果代码当前正在查看的当前列/行,那么它应该移到下一部分。
如果您不知道
,以下是如何定义数组的方法Dim DoNotCopy(1 to 10) as ListRows *OR as ListColumns*
在那里,您可以将数组的每个部分定义为列/行
Set DoNotCopy as Sheet("blah").Range("D:D")
希望这有帮助!