macros运行通过所有工作表有一个例外

我正在尝试编写一个macros,用于select具有特定列中的文本的任何行(无关紧要),然后将其粘贴到摘要工作表中,这需要在工作簿工作簿的所有工作表中循环显示摘要工作表。 然而,我有问题得到它的工作,我不断收到'编译错误︰方法或数据成员找不到',我需要macros运行通过所有表,无论名称,因为工作表最终归档和添加新的。

我现在已经改变了macros查找文本的单元格到下面的方式,我不知道这是否改变了事情:

Sub SmartCopy()

Dim s1 As Worksheet, s2 As Worksheet Dim N As Long, i As Long, j As Long Set s1 = Sheets("Customer 1") Set s2 = Sheets("Action Summary") N = s1.Cells(Rows.Count, "C").End(xlUp).Row j = 2 For i = 6 To N If s1.Cells(i, "C").Value = "" Then Else s1.Cells(i, "C").EntireRow.Copy s2.Cells(j, 1) j = j + 1 End If Next i 

结束小组

我是新来的,可能有它完全错误,但任何帮助,将不胜感激。

首先停止使用。select

其次,这应该根据您的筛选和复制特定行的标准进行工作。 您可能需要调整filter或复制的行,但此循环将起作用。

 Sub TestIt() Dim wsheet As Worksheet For i = 1 To ThisWorkbook.Worksheets.Count If ThisWorkbook.Worksheets(i).Name <> "Action Summary" Then 'And ThisWorkbook.Worksheets(i).Name <> "Another Exception" And ... Set wsheet = ThisWorkbook.Worksheets(i) For j = 6 to wsheet.Range("A" & Rows.Count).End(xlUp).Row If Not wsheet.Range("C" & j).Value = "" Then wsheet.Range("C" & j).EntireRow.Copy Sheets("Action Summary").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues End If Next j End If Next i End Sub