![](/img/trans.png)
[英]copy, paste selection based on multiple criteria to another worksheet in VBA
[英]VBA Copy Paste based on Multiple Criteria
我正在处理一个电子表格,该电子表格具有两个不同的下拉变量,每个下拉菜单中都有3-4个选项。 IE浏览器的第一个下拉菜单可以选择为{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
我唯一的担心是(除了我完全没有做错这件事之外),我所有的定价表都有基于其他变量的公式来确定正确的定价,这将以某种方式弄乱所有这些。
首先,我将看一下利用select ... case
,您可以在这里了解到: Select ... Case语句(Visual Basic)
这将整理您的许多if
语句,并使您更轻松地决定“如果”选择了特定选项会发生什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.