我有一張工作簿,其中包含四張紙張 - 一張合併紙張,可從其他項目(工作表2-4)中提取所有信息。合併後的工作表將用作另一個Excel工作表的源文件,該工作表將用於編輯和更新無法從以下報表填充的字段(工作表2-4)。我無法使用Access或其他數據庫類型來限制超出我的控制範圍。匹配兩張紙張之間的值並將相應的值複製到初始紙張兩次
Sheet1 : Consolidated_Sheet
Sheet2 : Incentive_Report_Raw_Data
Sheet3 : Offer_Report_Raw_Data
Sheet4 : SQR_Report_Raw_Data
步驟1:集成數據來源表Sheet 3到合併表 - 作品
Sub InitialMigration()
Dim sourceColumn As Range, targetColumn As Range
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("B")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("D")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AH")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("H")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AV")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("L")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AW")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("M")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("D")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("N")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("I")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("O")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AS")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("P")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("BC")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("W")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AO")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("Z")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AN")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("AB")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AK")
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("Y")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AM") 'Pricing
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("AD")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("F") 'Campaign Owner
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("I")
sourceColumn.Copy [targetColumn]
Set sourceColumn = Worksheets("Offer_Report_Raw_Data").Columns("AG") 'Product
Set targetColumn = Worksheets("Consolidated_Sheet").Columns("F")
sourceColumn.Copy [targetColumn]
End Sub
步驟2:我需要在SQR匹配來自Consolidated_Sheet(柱U)爲該值(柱J),然後將同一行SQR(列F)中的值複製到Consolidated_Sheet(列O)中對應的初始值行。 (CS-U)到(SQR-J)然後將(SQR-F)複製到(CS-O)。
注意:兩張不同紙張上的行不匹配。
我已經試圖在小規模上取得有限的成功 - 一行,它的工作原理,但我找不到一種方法,使其在更大的數據集中工作(〜2,000 +行)。我在互聯網上發現了這一點,這是我能找到的最接近的東西 - 我真的不知道我是否問過正確的方法。
Sub Submission()
Set wks1 = Worksheets("Consolidated_Sheet")
Set wks2 = Worksheets("SQR_Report_Raw_Data")
With wks1
End With
If wks1.Range("U") = wks2.Range("J") Then
wks2.Range("F").Copy wks1.Range("O") '<< cpy to 2nd WS
End If
End Sub
步驟3:從之前的練習要求將是Consolidated_Sheet和Incentive_Report_Raw_Data之間必要的。
請注意,這些原始數據表每週更新一次,我會說這是爲了能夠不斷更新所有內容。理想的是一步一步的過程。
這些值是用於查找其他工作表上唯一的信息,還是可能存在多個相應的行? –
這些值是唯一的。 – MagnaDrago