我想寫一個循環遍歷工作簿中的頁面的宏,並且任何包含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)。 –