Есть ли способ перебрать 3 листа в электронной таблице и сравнить значения, если они найдены, сказать «истина», а если не «ложь» - PullRequest
0 голосов
/ 23 мая 2019

Я очень плохо знаком с Макро. Если бы вы могли помочь мне начать, это было бы здорово. У меня есть 3 листа в рабочей тетради. У меня есть 4-й лист, который содержит адрес электронной почты. Я хотел бы взять каждый адрес электронной почты с 4-го листа и сравнить с другими листами. Если найдено на листе 1, создайте столбец на листе 4 с именем листа 1, скажем true, иначе False.

Колонны в Шт4:

  EmailAddress(B), Enabled, Name, Domain 

Я пытаюсь создать Макрос, который сделает это.

Sub vLookUpEmails()

    Dim sht1 As Worksheet
    Dim sht2 As Worksheet
    Dim sht3 As Worksheet
    Dim sht4 As Worksheet

    Set sht1 = Sheets("h1")
    Set sht2 = Sheets("h2")
    Set sht3 = Sheets("h3")
    Set sht4 = Sheets("h4")

    'Creating columns in the sheet 4

    sht4.Columns("H:H").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("H1").Value = "h1"

    sht4.Columns("I:I").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("I1").Value = "h2"

    sht4.Columns("J:J").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("J1").Value = "h3"

    'Getting last row
    combLastRow = sht1.Cells(Rows.Count, "A").End(xlUp).Row

End Sub

Я ожидаю в шт 4. Создает столбцы H1, H2, H3. В каждом столбце указано true или false, если адрес электронной почты найден в sht1, а в столбце h1 - true, иначе false.

1 Ответ

2 голосов
/ 23 мая 2019

просто попробуйте использовать формулу совпадения и посмотрите, возвращено ли число:

With sht4
    Dim lstrw As Long
    lstrw = .Cells(.Rows.Count, 2).End(xlUp).Row
    With .Range(.Cells(2, 8), .Cells(lstrw, 10))
        .Formula = "=ISNUMBER(MATCH($B2,INDIRECT(""'"" & H$1 & ""'!$A:$A""),0))"
        .Value = .Value
    End With
End With

enter image description here

  • Лист1 имеет 2004 и 2005 в столбце A
  • Sheet2 имеет 2006 в столбце A
  • Sheet3 имеет 2007 в столбце A
...