1
因此,我是VBA的新手,並試圖編寫一段代碼來提高效率。我試圖遍歷66個不同的工作表(名爲1,2,3等),並更改某些單元格的值以反映彙總表中列出的值。我希望實質上在工作簿中的每張工作表的迭代向下一行。我試圖記錄一個宏,並基於這個宏寫東西,但我的解決方案不起作用。任何幫助,將不勝感激!Excel VBA遍歷表單並更改單元格以反映彙總表
*更新後的代碼,但仍有一些不起作用。我認爲這可能是因爲我沒有正確選擇我想要進行更改的工作表?
**編輯2:代碼現在工作 - 我想我必須把第一張66張放在工作簿的開頭,宏試圖迭代通過其他受保護的工作表。謝謝您的幫助。
Sub Macro6()
Dim WS_Count As Integer
Dim i As Integer
'Set WS_Count to the number of sheets with CPT data
WS_Count = 66
For i = 1 To WS_Count
Sheets(i).Activate
Sheets(i).Select
Range("A2").FormulaR1C1 = "='Data Input'!R[" & (17 + i) & "]C[1]"
Range("F6").FormulaR1C1 = "='Data Input'!R[" & (14 + i) & "]C[4]"
Range("H6").FormulaR1C1 = "='Data Input'!R[" & (14 + i) & "]C[3]"
Range("I6").FormulaR1C1 = "='Data Input'!R[" & (14 + i) & "]C[3]"
Range("L6").FormulaR1C1 = "='Data Input'!R[" & (14 + i) & "]C[8]"
Range("M6").FormulaR1C1 = "='Data Input'!R[" & (14 + i) & "]C[9]"
Next
End Sub
我已經做出了改變,但它仍然不工作 - 我是否必須改變我如何引用表格? –
好吧,我發現我的第一個問題 - 我需要在我的for循環中取出第二個i =。 –