我在sheet1中输入了4个单元格(A2到A5)的值,现在代码应该是这样的,即VBA从sheet1中的4个单元格中获取值,并将它们与(A1到D1)中的单元格进行比较。 sheet2并且应该在每个单元格中的sheet2(E2到E5)中的4个单元格中返回结果,表示匹配或不匹配。
我一直在尝试这个,但是能够使用IF和THEN四次。任何使用循环或可以将代码从30多行更改为少数的东西。
答案 0 :(得分:0)
尝试
Sub Demo()
Dim srcSht As Worksheet, destSht As Worksheet
Dim cel As Range, destCell As Range
Dim colIndex As Long
Set srcSht = ThisWorkbook.Sheets("Sheet1") 'source sheet
Set destSht = ThisWorkbook.Sheets("Sheet2") 'destination sheet
Set destCell = destSht.Range("D33")
colIndex = 1
For Each cel In srcSht.Range("A2:A5") 'loop through each cell in range srcSht.Range("A2:A5")
If cel.Value = destSht.Cells(1, colIndex) Then 'check for match
destCell.Offset(colIndex - 1, 0).Value = "Match" 'display result
Else
destCell.Offset(colIndex - 1, 0).Value = "No Match" 'display result
End If
colIndex = colIndex + 1
Next cel
End Sub