真的希望有人可以帮助我。
我是VBA的新手,几个星期前才开始挑选。我正在尝试创建一个嵌套循环来合并来自Excel中多个选项卡的数据。
这基于工作表名称开头“>”和第3列包含True或False值。然后将数据粘贴到名为import的工作表中。
两个循环似乎都独立工作,但我不能让它们一起工作。
提前致谢。
Sub TestImport()
Dim WS As Worksheet
Dim Criteria As Boolean
Dim C As Integer
Criteria = True
Application.ScreenUpdating = False
Sheets("Import").UsedRange.Offset(1).Clear
For Each WS In ThisWorkbook.Worksheets
If Left(WS.Name, 1) = ">" Then
For C = 2 To WS.Range("A1000").End(xlUp).Row
If WS.Cells(C, 3) = Criteria Then
WS.Range(Cells(C, 5), Cells(C, 12)).Copy
Worksheets("Import").Range("A100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next C
End If
Next WS
Application.ScreenUpdating = True
Sheets("Import").Select
End Sub
答案 0 :(得分:2)
由于您在工作簿中的工作表中循环,因此您应该完全限定您正在使用的任何范围。具体来说,以下一行:
WS.Range(Cells(C, 5), Cells(C, 12)).Copy
应更改为:
WS.Range(WS.Cells(C, 5), WS.Cells(C, 12)).Copy