我想写一个循环遍历工作簿中的页面的宏,并且任何包含DR
工作表的名称应该放在工作表Macro
和单元格的内容中。VBA选择特定工作表然后复制特定单元格
Sub FnGetSheetsName()
Dim mainworkBook As Workbook
Set mainworkBook = ActiveWorkbook
For i = 1 To mainworkBook.Sheets.Count
If mainworkBook.Sheets.Name.Contains("DR") Then
mainworkBook.Sheets("Macro").Range("A" & i) = mainworkBook.Sheets.Name
mainworkBook.Sheets("Macro").Range("B" & i) = mainworkBook.Sheets.Range("B17")
End If
Next i
End Sub
它在停止:If mainworkBook.Sheets.Name.Contains("DR")
然后
谢谢您的回答! :) 蒂博尔
由于工作簿中的工作表数量是无限的([仅限于可用内存](https://support.office.com/en-us/article/Excel-sp ecifications-and-limits-1672b34d-7043-467e-8e27-269d656771c3))你应该将'x'变暗为'Long'而不是'Integer'。总是使用'Long'而不是'Interger' **,除非**你需要Interop与一个预期16位int的旧API调用。阅读更多关于[Integer和Long?](http://stackoverflow.com/a/26409520/3219613)。 –