我对Macro非常陌生。如果你能帮我开始,那就太好了。我的工作簿里有3张纸。我有第四页,其中包含电子邮件地址。我想采取每个电子邮件地址从第4页,并与其他页进行比较。如果在工作表1中找到,则在工作表4中创建一个列,其名称为工作表1,选择true或False。
Sht4中的列:
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
我期望在sht4中。创建列H1,H2,H3。在每一列中,如果在sht1中找到电子邮件地址,则在h1列中显示true或false,否则将显示true或false。
发布于 2019-05-24 01:48:12
只需尝试使用匹配公式,看看是否返回数字:
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
2004
和2005
2006
2007
列https://stackoverflow.com/questions/56280346
复制相似问题