簡體   English   中英

Excel VBA:對不同工作表上的輸入數據的多行重復計算

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM