首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于多条件的VBA复制粘贴

基于多条件的VBA复制粘贴
EN

Stack Overflow用户
提问于 2014-06-17 23:48:32
回答 1查看 544关注 0票数 0

我在一个电子表格上工作,它有两个不同的下拉变量,每个下拉变量有3-4个选项。即第一个下拉菜单可以选择{2-Tier,3-Tier,4-Tier,40-Tier},第二个下拉菜单可以是{2-Tier,3-Tier,4-Tier}。我是VBA的新手,以前只用过SQL,所以我在这里有点摸索。

基本上,根据下拉选择,我希望电子表格“复制和粘贴”从另一个相应的其他选项卡定价网格,并粘贴到“设置表”。由于有两个下拉列表,我想象8-16列将用于第一个定价网格,然后18列将用于第二组定价网格。

这是我到目前为止所了解到的:

代码语言:javascript
复制
     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

我唯一的另一个担心是,除了我做错了这件事之外,我所有的定价表都有基于其他变量的公式来确定正确的定价,这将以某种方式弄乱所有这一切。

EN

回答 1

Stack Overflow用户

发布于 2014-06-18 01:51:58

首先,我将看一看如何使用select ... case,您可以在这里了解到:Select...Case Statement (Visual Basic)

这将整理您的许多if语句,并使您可以更容易地决定“如果”选择了特定选项会发生什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24268159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档