【发布时间】:2020-02-05 13:52:43
【问题描述】:
我有一张 sheet1 (sh1),其中我在 (A2) 中有一个国家名称,在 (B2) 中有一个方向。
我想在 sheet2 (sh2) 上找到一行,其中 A 列包含相同的城市名称,B 列包含相同的地区,并将整行复制到 sh1 上匹配的行旁边。然后我想遍历 sh1 上的所有行并在 sh2 上找到匹配的行并以相同的方式复制它。
我似乎在复制数据,但 sh2 上的匹配行包含我想复制到 sh1 的其他信息。
举例说明:
On Sheet1: Column A Column B (header) (header) San Diego South New York North Chicago East On Sheet2: Column A Column B (header) (header) Chicago East San Diego South New York North
循环将首先检查圣地亚哥,然后是纽约,然后是芝加哥,依此类推,直到列结束。
这是我的代码:
Sub Matchcountry()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim r As Range
Set sh1 = Sheets("Sheet1")
Set sh2 = Sheets("Sheet2")
r = lastrow = sh1.Range("A" & Rows.Count) + 2.End(xlUp).Row
For x = 1 To r
If sh1.Range("A" & x) = sh2.Range("A" & x) And sh1.Range("B" & x) = sh1.Range("A" & x) & sh2.Range("B" & x) Then
sh1.Range("A" & x).EntireRow.Copy Destination:=sh2.Range("C" & x)
x = x + 1
Next x
End Sub
【问题讨论】: