首页 > 解决方案 > 在 VBA 中向我当前的模块添加更多 if 语句

问题描述

我已经有工作代码,但它只适用于一个人。我需要能够将许多人的数据从一张纸移动到另一张纸上

Sub button()

With Worksheets("three").Range("G1")

    If .Value = "sconlon@iadvancenow.com" Then

     Worksheets("Sheet2").Range("C3") = .Offset(0, 1).Value

     Worksheets("Sheet2").Range("D3") = .Offset(0, 2).Value

     End If

With Worksheets("three").Range("G1")

    If .Value = "kedwards@iadvancenow.com" Then

    Worksheets("Sheet2").Range("C4") = .Offset(0, 1).Value

    Worksheets("Sheet2").Range("D4") = .Offset(0, 2).Value

    End If

End With 

End Sub

我只从第一人那里得到结果

标签: excelvba

解决方案


您当前的代码应该无法使用Compile error: Expected End With. 您只需要 1With条语句来说明您要执行的操作。此外,If/ElseIf在这种情况下使用:

Sub button()

    With Worksheets("three").Range("G1")

        If .Value = "sconlon@iadvancenow.com" Then

            Worksheets("Sheet2").Range("C3") = .Offset(0, 1).Value
            Worksheets("Sheet2").Range("D3") = .Offset(0, 2).Value

        ElseIf .Value = "kedwards@iadvancenow.com" Then

            Worksheets("Sheet2").Range("C4") = .Offset(0, 1).Value
            Worksheets("Sheet2").Range("D4") = .Offset(0, 2).Value

        Else

            'Add whatever else you need - or maybe some more ElseIfs!

        End If

    End With

End Sub

但是,我不确定您要完成什么 - 现在您只查看单元格G1- 您的数据设置如何?您必须提供更多详细信息,以便我们为您提供帮助。


推荐阅读