excel - VBA 多个 if 语句

标签 excel vba if-statement

我有以下代码可以正常工作。使用多个 if 语句时有没有办法减少行数。没有一个依赖于任何其他,它们都引用相同的工作表和范围。滚动代码时它看起来不正确。认为可能有更简洁的方法?我没有使用这些实际的变量名。

    If Not c.Offset(0, 3).Value = "" Then
        var1 = True
        var2 = c.Offset(0, 3).Value
    End If
    
    If Not c.Offset(0, 4).Value = "" Then
        var3 = True
        var4 = c.Offset(0, 4).Value
    End If
    
    If Not c.Offset(0, 5).Value = "" Then
        var5 = True
        var6 = c.Offset(0, 5).Value
    End If
    
    If Not c.Offset(0, 6).Value = "" Then
        var7 = True
        var8 = c.Offset(0, 6).Value
    End If
    
    If Not c.Offset(0, 7).Value = "" Then
        var9 = True
        var10 = c.Offset(0, 7).Value
    End If

最佳答案

您可以使用 switch 语句,或者不是为每个条件使用新的 if 语句,而是创建一个 else if,这使得代码更短且更具可读性。

关于excel - VBA 多个 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72837783/

相关文章:

xml - 顶级 XML 标签属性 xmlns 被二级标签继承 - VBA

excel - 如何让组合框不接受Excel-Vba中的用户输入?

vba - Workbooks.Open 显示两种不同格式

excel - 如果在工作表中找不到部分字符串,VBA 跳过文件?

javascript - 表单无法提交并给出错误消息

java - 控制台中出现奇怪的无限循环,但 Applet 中却没有 - Java

c - C 中的 if 语句 & 没有双重调用的赋值

php - 第 1 行的 CSV 输入中的列数无效错误

python - u2013 错误与 openpyxl - python 2.7

excel - 为什么这个暗淡定义错误?