【问题标题】:Excel VBA - Select Case - Multiple Test ExpressionsExcel VBA - 选择案例 - 多个测试表达式
【发布时间】: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"

【问题讨论】:

    标签: vba excel select case


    【解决方案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
    

    【讨论】:

    • 非常感谢您的帮助!这也将帮助我逐步完成增加其他范围值的过程!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 2014-03-08
    相关资源
    最近更新 更多