移动打印匹配结果的位置

时间:2015-09-03 14:48:35

标签: excel vba excel-vba

我在sheet1上有一些联系人列表,这些联系人与sheet2上的主列表匹配,匹配的联系人Email_ID将从主列表中选取。以电子邮件ID的联系形式的结果将从第H列开始打印在表3上。 程序代码有效,但结果从A列开始打印。似乎我以错误的方式使用offset属性。

下面附有sheet1,sheet2和sheet3的样本。

contacts to match master list

matched contacts

程序代码如下。

 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

1 个答案:

答案 0 :(得分:1)

您在sheet3上引用了错误的列,并且您的行号没有增加。

试试这个:

if(resultCode==RESULT_CANCELED){