Excel VBA - 选择案例 - 多个测试表达式
Posted
技术标签:
【中文标题】Excel VBA - 选择案例 - 多个测试表达式【英文标题】:Excel VBA - Select Case - Multiple Test Expressions 【发布时间】:2014-11-17 14:24:58 【问题描述】:我正在尝试编写一个 Select Case 语句,它查看整个 A 列中的一系列值,然后执行语句。
到目前为止,我可以让我的 select case 语句适用于 A2 行,但如果不给我一个“类型不匹配错误”,我就无法让它与一系列值一起工作。
工作
Select Case range("A2").Value
Case "01"
range("G2").Value = "Admin"
range("I2").Value = "None"
range("J2").Value = "None"
range("K2").Value = "None"
range("H2").Value = "No Affiliation"
range("T2").Value = "99999"
不工作(类型不匹配错误)
Select Case Range ("A2:A1000").Value
Case "01"
range("G2").Value = "Admin"
range("I2").Value = "None"
range("J2").Value = "None"
range("K2").Value = "None"
range("H2").Value = "No Affiliation"
range("T2").Value = "99999"
Case "A"
range("G2").Value = "Dealer"
range("I2").Value = "None"
range("J2").Value = "None"
range("K2").Value = "None"
【问题讨论】:
【参考方案1】:您需要逐步遍历范围中的每个单元格,“A2:A1000”将返回一个数组,而不是一个值。
Sub SO()
Dim rNum As Long
For rNum = 2 To 1000
Select Case Range("A" & rNum).Value
Case "01"
Range("G" & rNum).Value = "Admin"
Range("I" & rNum).Value = "None"
Range("J" & rNum).Value = "None"
Range("K" & rNum).Value = "None"
Range("H" & rNum).Value = "No Affiliation"
Range("T" & rNum).Value = "99999"
Case "A"
Range("G" & rNum).Value = "Dealer"
Range("I" & rNum).Value = "None"
Range("J" & rNum).Value = "None"
Range("K" & rNum).Value = "None"
Case Else
'// Do something else...
End Select
Next rNum
End Sub
【讨论】:
非常感谢您的帮助!这也将帮助我逐步完成增加其他范围值的过程!以上是关于Excel VBA - 选择案例 - 多个测试表达式的主要内容,如果未能解决你的问题,请参考以下文章
一个可以使用多个正则表达式进行多次尝试匹配,并进行替换的Excel VBA自定义函数(UFD)