首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SImplifying if语句

SImplifying if语句
EN

Stack Overflow用户
提问于 2016-12-11 01:07:48
回答 3查看 268关注 0票数 0

我正在做一个VBA项目,并希望简化下面的if-语句,因为我需要对每个人进行11倍的以下操作。

代码语言:javascript
复制
'CTK opportunities
If result = "CTK" And ToggleButton1 = True Then Range("B4").Value = "X"
If result = "CTK" And ToggleButton2 = True Then Range("C4").Value = "X"
If result = "CTK" And ToggleButton3 = True Then Range("D4").Value = "X"
If result = "CTK" And ToggleButton4 = True Then Range("E4").Value = "X"
If result = "CTK" And ToggleButton5 = True Then Range("F4").Value = "X"
If result = "CTK" And ToggleButton6 = True Then Range("G4").Value = "X"
If result = "CTK" And ToggleButton7 = True Then Range("H4").Value = "X"
If result = "CTK" And ToggleButton8 = True Then Range("I4").Value = "X"
If result = "CTK" And ToggleButton9 = True Then Range("J4").Value = "X"
If result = "CTK" And ToggleButton10 = True Then Range("K4").Value = "X"
If result = "CTK" And ToggleButton11 = True Then Range("L4").Value = "X"
If result = "CTK" And ToggleButton12 = True Then Range("M4").Value = "X"

'Next person
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-11 10:16:13

你可以试试这个:

代码语言:javascript
复制
Dim ctrl As Control

If result = "CTK" Then
    For Each ctrl In Me.Controls
        If InStr(ctrl.Name, "ToggleButton") > 0 Then
            If ctrl.Value Then Cells(4, CInt(Replace(ctrl.Name, "ToggleButton", "")) + 1).Value = "X"
        End If
    Next ctrl
End If
票数 1
EN

Stack Overflow用户

发布于 2016-12-11 01:21:11

除了对"CTK"上的测试进行分解外,还可以为ToggleButtons定义一个数组并对其进行迭代:

代码语言:javascript
复制
toggleButtons = Array(ToggleButton1, ToggleButton2, .... , ToggleButton12)

If(result = CTK) Then
    For i = 0 to UBound(toggleButtons)
        If toggleButtons[i] = True Then Cells(4, i+2).Value = "X"
    Next
End If 
票数 1
EN

Stack Overflow用户

发布于 2016-12-11 01:15:11

代码语言:javascript
复制
If result = "CTK" Then
    If ToggleButton1 = True Then
        Range("B4").Value= "X"
    ElseIf ToggleButton2 = True Then
        Range("C4").Value = "X"
    ElseIf...........etc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41082007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档