首页 文章

Excel宏从下拉列表中选择每个值并复制粘贴值

提问于
浏览
0

我有excel表,它根据B1中下拉列表中的可用值进行了大量计算 .

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

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

1 回答

  • 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
    

    请注意第一行中的表格(“ACCM附加”)必须是 Headers 值

相关问题