我在sheet1上有一些联系人列表,这些联系人与sheet2上的主列表匹配,匹配的联系人Email_ID将从主列表中选取。以电子邮件ID的联系形式的结果将从第H列开始打印在表3上。 程序代码有效,但结果从A列开始打印。似乎我以错误的方式使用offset属性。
下面附有sheet1,sheet2和sheet3的样本。
程序代码如下。
Sub GetEAddress()
Dim c
Dim Fin As Range
Dim SearchRangeS1, SearchRangeS2
Set SearchRangeS1 = Sheet1.Range("A1:A" & Sheet1.Cells(Rows.Count, 1).End(xlUp).Row)
Set SearchRangeS2 = Sheet2.Range("A1:A" & Sheet2.Cells(Rows.Count, 1).End(xlUp).Row)
Sheet3.Cells.Clear
Sheet3.Range("H1") = "Name"
Sheet3.Range("I1") = "Email_ID"
For Each c In SearchRangeS2
Set Fin = Nothing
Set Fin = SearchRangeS1.Find(c.Value, LookAt:=xlWhole)
If Not Fin Is Nothing Then
With Sheet3.Range("A" & Sheet3.Cells(Rows.Count, 1).End(xlUp).Row + 1)
.Value = c
.Offset(0, 1).Resize(, 8).Value = c.Offset(0, 1).Resize(, 8).Value
End With
End If
Next c
End Sub
答案 0 :(得分:1)
您在sheet3上引用了错误的列,并且您的行号没有增加。
试试这个:
if(resultCode==RESULT_CANCELED){