[英]Excel VBA: Repeating calculation for multiple rows on input data on a different worksheet
我有一個包含3個工作表(原始數據,輸入和結果)的工作簿。
我想將原始數據中B2,T2,U2和AM2的內容分別輸入到Inputs中的B2,B10,B31和C15中。
這樣做會更改結果上單元格C14和C15的內容,然后我要在原始數據上將它們放入EC2和ED2。
然后我希望B3,T3,U3和AM3等發生相同的事情-基本上是Raw Data的下一行信息,然后是該行之后的下一行,以此類推。
如果有人可以幫助並指出正確的方向,我將不勝感激!
我沒有從其他人那里找到最接近的帖子(下面的鏈接),因此沒有得到答復-因此,如果您需要更多有關我要達到的目標的信息或說明,請告訴我!
謝謝!
麥克風
我設法提出了我認為正確的以下內容,現在只需插入一些變量引用即可。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wb As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim rng As Range
Set wb = ActiveWorkbook
Set ws1 = wb.Worksheets("Raw Data")
Set ws2 = wb.Worksheets("Inputs")
Set ws3 = wb.Worksheets("Results")
Set rng = ws1.Range("A2:ED193")
For Each row In rng.Rows
ws1.Range("B").Copy Destination:=ws2.Range("B2")
ws1.Range("T").Copy Destination:=ws2.Range("B10")
ws1.Range("U").Copy Destination:=ws2.Range("B31")
ws1.Range("AM").Copy Destination:=ws2.Range("C15")
ws3.Range("C14").Copy Destination:=ws1.Range("EC")
ws3.Range("C15").Copy Destination:=ws1.Range("ED")
Next row
End Sub
我建議您查看FOR循環,因為您試圖在整個范圍內重復執行此過程。 這是Microsoft對它們的介紹 。
在循環內部,您將根據另一張紙上的單元格值將值分配給一張紙上的單元格。 我將留給您就該主題進行一些研究。
您還需要研究在單元格引用中使用變量,以便在循環遍歷工作簿時更改它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.