我在一个电子表格上工作,它有两个不同的下拉变量,每个下拉变量有3-4个选项。即第一个下拉菜单可以选择{2-Tier,3-Tier,4-Tier,40-Tier},第二个下拉菜单可以是{2-Tier,3-Tier,4-Tier}。我是VBA的新手,以前只用过SQL,所以我在这里有点摸索。
基本上,根据下拉选择,我希望电子表格“复制和粘贴”从另一个相应的其他选项卡定价网格,并粘贴到“设置表”。由于有两个下拉列表,我想象8-16列将用于第一个定价网格,然后18列将用于第二组定价网格。
这是我到目前为止所了解到的:
Sub Ifs()
If Worksheets("Set Up Table").Range(B3) = "2-Tier" Then
Worksheets("2 Tier MEC Rates").Range(A1, F3).Copy Destination:=Worksheets("Set Up Table").Range(A7)
ElseIf If Worksheets("Set Up Table").Range(B3) = "3-Tier" Then
Worksheets("3 Tier MEC Rates").Range(A1, F4).Copy Destination:=Worksheets("Set Up Table").Range(A7)
ElseIf If Worksheets("Set Up Table").Range(B3) = "4-Tier" Then
Worksheets("4 Tier MEC Rates").Range(A1, F5).Copy Destination:=Worksheets("Set Up Table").Range(A7)
ElseIf If Worksheets("Set Up Table").Range(B3) = "40-Tier" Then
Worksheets("7 Tier MEC Rates").Range(A1, F8).Copy Destination:=Worksheets("Set Up Table").Range(A7)
End If
If Worksheets("Set Up Table").Range(B4) = "2-Tier" Then
Worksheets("2 Tier LM Rates").Range(A2, E12).Copy Destination:=Worksheets("Set Up Table").Range(A18)
ElseIf Worksheets("Set Up Table").Range(B4) = "3-Tier" Then
Worksheets("3 Tier LM Rates").Range(A2, E15).Copy Destination:=Worksheets("Set Up Table").Range(A18)
ElseIf Worksheets("Set Up Table").Range(B4) = "4-Tier" Then
Worksheets("4 Tier LM Rates").Range(A2, E18).Copy Destination:=Worksheets("Set Up Table").Range(A18)
End If
End Sub我唯一的另一个担心是,除了我做错了这件事之外,我所有的定价表都有基于其他变量的公式来确定正确的定价,这将以某种方式弄乱所有这一切。
发布于 2014-06-18 01:51:58
首先,我将看一看如何使用select ... case,您可以在这里了解到:Select...Case Statement (Visual Basic)
这将整理您的许多if语句,并使您可以更容易地决定“如果”选择了特定选项会发生什么。
https://stackoverflow.com/questions/24268159
复制相似问题