【问题标题】:Excel Macro to select the each values from drop down list and copy-paste the valuesExcel宏从下拉列表中选择每个值并复制粘贴值
【发布时间】:2014-05-14 05:00:41
【问题描述】:

我有一个 Excel 表,它根据 B1 下拉列表中的可用值进行了大量计算。

到目前为止,我所做的是, 1. 根据工作表“分析 - 模板”$A:$A(忽略空白)的范围,在工作表“ACCM 配置器”的单元格 B1 中创建了一个下拉列表 2. 根据单元格 B1 的下拉列表中选择的值,我在“ACCM 配置器”表中的 A6:J33 中使用公式创建了许多计算

我现在想要实现的是, 1. 在 B1 的下拉列表中选择每个值,然后从 A6:J33 范围内复制每个下拉值的计算值,然后粘贴到名为“ACCM Append”的新工作表中 2.忽略任何空白行 3. A5:J5 有标题,因此希望将其作为标题粘贴到工作表“ACCM Append”中

【问题讨论】:

    标签: vba excel drop-down-menu


    【解决方案1】:

    如果粘贴为新范围

    Sub DropDown1_Change()
    'A6:J33 range
    rangeCopy = Sheets("ACCM Configurator").range(Cells(6, 1), Cells(33, 10)).value
    lastR = Sheets("ACCM Append").range("a:f").Find(What:="*", After:=Sheets("ACCM Append").Cells(1, 1), SearchDirection:=xlPrevious, SearchOrder:=xlByRows, LookIn:=xlFormulas).row
    'paste after last used range
    Sheets("ACCM Append").Cells(lastR + 1, "A").Resize(UBound(rangeCopy, 1), UBound(rangeCopy, 2)).value = rangeCopy
     End sub
    

    如果粘贴在同一范围内

    Sub DropDown1_Change()
    'A6:J33 range
    rangeCopy = Sheets("ACCM Configurator").range(Cells(6, 1), Cells(33, 10)).value
    'paste after last used range
    Sheets("ACCM Append").Cells(2, "A").Resize(UBound(rangeCopy, 1), UBound(rangeCopy, 2)).value = rangeCopy
     End sub
    

    注意第一行的 Sheets("ACCM Append") 上的内容必须是标题值

    【讨论】:

    • 抱歉延迟响应,第一个宏在第 4 行给了我一个调试,第二个宏没有选择列表中的所有值,它只选择一个已经在下拉列表中的值。跟范围有关系吗?
    • 抱歉延迟响应,第一个宏在第 4 行给了我一个调试,第二个宏没有选择列表中的所有值,它只选择一个已经在下拉列表中的值。跟范围有关系吗?
    猜你喜欢
    • 2023-01-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多