2016-07-28 88 views
0

我想通過指定帶有變量「sheetname」的紙張名稱來引用此公式中的每張紙。有誰知道如何做到這一點?參考另一張紙使用變量作爲紙張名稱

Sub PopulateRow() 

Dim WS_Count As Integer 
Dim I As Integer 
Dim sheetname As String 

WS_Count = ActiveWorkbook.Worksheets.Count 

For I = 1 To WS_Count 

    Worksheets(I).Activate 
     sheetname = ActiveSheet.Name 
    Worksheets(1).Cells(I, 1).Formula = "=sum('sheetname'!d:d)" 

Next I 

End Sub 

回答

6

您將拉引號之外的變量並連接&

Sub PopulateRow() 

Dim WS_Count As Integer 
Dim I As Integer 


WS_Count = ActiveWorkbook.Worksheets.Count 

For I = 1 To WS_Count 

    Worksheets(1).Cells(I, 1).Formula = "=sum('" & Worksheets(I).Name & "'!d:d)" 

Next I 

End Sub 

作爲一個說明我刪除sheet.Activate。它會減慢代碼的速度,如果正確完成則不需要。

+0

太棒了!謝謝! – Topher

+0

@Topher請通過點擊答案中的複選標記來標記爲正確。只有你能做到這一點。 –

相關問題