向VBA中的当前模块添加更多if语句 [英] Adding more if statements to my current module in VBA
问题描述
我已经有工作代码,但仅适用于一个人.我需要能够将许多人的数据从一张纸移到另一张纸
I have already working code, but it only works for one person. I need to be able to have many peoples data moved from one sheet to another
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
我只能从第一个人那里得到结果
I only get the results from the first person
推荐答案
您当前的代码应无法编译,并出现编译错误:预期结尾为
.您只需要1条 With
语句即可执行操作.此外,在这种情况下,请使用 If/ElseIf
:
Your current code should fail to compile with a Compile error: Expected End With
. You only need 1 With
statement for what you're trying to do. Additionally, utilize If/ElseIf
in this scenario:
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
-您的数据设置如何?您必须提供更多详细信息,以便我们为您提供帮助.
However, I'm not sure what you're trying to accomplish - right now you're only looking at cell G1
- how is your data setup? You'd have to include more details for us to help you.
这篇关于向VBA中的当前模块添加更多if语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!