[英]Going through workbook and making a column in the first sheet out of the content of a particular cell across all sheets
這給我一個錯誤:
(需要常量表達)
碼:
Dim Sheet3 As Worksheet
Dim t As Long
Dim Max As Long
Max = ActiveWorkbook.Worksheets.Count
Dim Dates(2 To Max) As String
For t = 2 To ActiveWorkbook.Worksheets.Count
Set Sheet3 = ActiveWorkbook.Worksheets(t)
If Sheet3.Name = "USA" & t Then
Dates(t) = Sheet3.Range("E4").Value
End If
Next t
SomeVariable = Sheet.Range("B22").Value
如果您需要一種方法來迭代工作表,則可以執行此操作。
iFoundWorksheet = 0
For iIndex = 1 To ea.ActiveWorkbook.Worksheets.Count
Set ws = ea.Worksheets(iIndex)
If UCase(ws.Name) = "RESULTS" Then
iFoundWorksheet = iIndex
Exit For
End If
Next iIndex
If iFoundWorksheet = 0 Then
MsgBox "No worksheet was found with the name RESULTS (this is not case sensetive). Aborting."
GoTo Abort
End If
Set ws = ea.Worksheets(iFoundWorksheet)
ws.Activate
對於您的新問題,需要常量表達式。必須使用常量定義數組定義。
Dim Max As Long
Const Max1 = 5
Dim Dates(2 To Max1) As String
這會起作用。 但是您將無法加載
ActiveWorkbook.Worksheets.Count
變成一個const
您可能需要重新設置Dates數組。
Dim SummarySheet as Sheet
For r = 2 To ActiveWorkbook.Worksheets.Count
Set Sheet = ActiveWorkbook.Worksheets(r)
If Sheet.Name = "Page"& r Then
SummarySheet.Cells(Row you want to paste,Column you want to paste) = Sheet.Range("Cell you want to copy").Value
End if
Next r
我懷疑您的t和r是否不同,但是如果這樣,則應該為這兩者創建一個For循環,或者根據t得出ra計算的值
編輯:如果要粘貼在H9中並從那里開始,則列將為8,第9行。如果再輸入9 + r,它將始終采用下面的下一行。 假設r從1開始並具有連續的所有數字。 您可以對這些值進行一些嘗試,直到正確為止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.