Excel VBA代码-If Then和多个If选项
我正在寻找一些关于为我正在构建的工作表编写一点VBA的专家建议。我试过几种不同的变体,但运气不好。我已经把我的东西贴在下面了。如蒙协助,将不胜感激Excel VBA代码-If Then和多个If选项,excel,vba,Excel,Vba,我正在寻找一些关于为我正在构建的工作表编写一点VBA的专家建议。我试过几种不同的变体,但运气不好。我已经把我的东西贴在下面了。如蒙协助,将不胜感激 If Range("C2:C900").Value = ("ME","NH","VT","MA","RI","CT") Then Range("D2:D900").Value = I If Range("C2:C900").Value = ("NY",NJ","PR") Then Range("D2:D900").Value = II If Ra
If Range("C2:C900").Value = ("ME","NH","VT","MA","RI","CT") Then Range("D2:D900").Value = I
If Range("C2:C900").Value = ("NY",NJ","PR") Then Range("D2:D900").Value = II
If Range("C2:C900").Value = ("PA",MD","DE","VA","DC","WV") Then Range("D2:D900").Value = III
依此类推您将需要使用循环并使用
选择案例
但循环变量数组而不是范围,这样会更快:
With ActiveSheet 'Should change to the actual sheet
Dim inRng As Variant
inRng = .Range("C2:C900").Value
Dim outRng As Variant
outRng = .Range("D2:D900").Value
Dim i As Long
For i = LBound(inRng, 1) To UBound(inRng, 1)
Select Case inRng(i, 1)
Case "ME", "NH", "VT", "MA", "RI", "CT"
outRng(i, 1) = "I"
Case "NY", "NJ", "PR"
outRng(i, 1) = "II"
Case "PA", "MD", "DE", "VA", "DC", "WV"
outRng(i, 1) = "III"
Case Else
outRng(i, 1) = ""
End Select
Next i
.Range("D2:D900").Value = outRng
End With
您需要使用循环并使用
Select Case
但是循环变量数组而不是范围,这样会更快:
With ActiveSheet 'Should change to the actual sheet
Dim inRng As Variant
inRng = .Range("C2:C900").Value
Dim outRng As Variant
outRng = .Range("D2:D900").Value
Dim i As Long
For i = LBound(inRng, 1) To UBound(inRng, 1)
Select Case inRng(i, 1)
Case "ME", "NH", "VT", "MA", "RI", "CT"
outRng(i, 1) = "I"
Case "NY", "NJ", "PR"
outRng(i, 1) = "II"
Case "PA", "MD", "DE", "VA", "DC", "WV"
outRng(i, 1) = "III"
Case Else
outRng(i, 1) = ""
End Select
Next i
.Range("D2:D900").Value = outRng
End With
您需要循环范围,因为值数组不能等于一个值。同时查看
Select Case
您也可以使用查找表进行此操作。您需要循环范围,因为一个值数组不能等于一个值。同时查看Select Case
,您也可以使用查找表进行此操作