我有一张工作簿,其中包含四张纸张 - 一张合并纸张,可从其他项目(工作表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