【问题标题】:Loop through dropdown and copy-paste循环下拉并复制粘贴
【发布时间】:2017-10-03 15:46:26
【问题描述】:

我正在尝试遍历下拉列表中的所有值,其来源在工作表“Comm O & S”中,范围为 A31:L31。

我想从另一个工作表中复制下拉列表中的选择所产生的值,并将这些值粘贴到单独工作表的列中(从 C 列开始)。然后,我想在下拉列表中选择下一个值并将下一列中的值复制粘贴到上面,等等。

我在下拉循环中的复制粘贴遇到问题。

Sheets("Scenario by Payer").Activate
For Each rngCell In wb.Worksheets("Comm O & S").Range("A31:L31")
    ' Set the value of dd_comm
    ws.Range("D14").Value = rngCell.Value

    Sheets("Detailed Outputs").Select
    Range("T52:t60").Select
    Application.CutCopyMode = False
    Selection.Copy

    Sheets("Comm O & S").Activate

    For Each c In ActiveSheet.Range("C7:L7").Cells
        c.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False

    Next rngCell
Next c

【问题讨论】:

  • Read this,并相应地更改您的代码。也就是说,不清楚你在问什么。您是否遇到任何错误?发生了什么?具体是什么问题?
  • 问题是您在每次迭代中都粘贴了结果。我猜你想要 C7 中的第 1 次迭代结果、D7 中的第 2 次、E7 中的第 3 次等。正确吗?
  • 是的,tigeravatar - 我正在尝试将结果粘贴到 C7 中,然后执行下一个下拉项,将这些结果粘贴到 D7 中,等等。问题是相同的结果粘贴到每个列;也就是说,它没有遍历下拉列表。感谢您的回复和帮助!

标签: excel vba loops


【解决方案1】:

试试这个:

Sub tgr()

    Dim wb As Workbook
    Dim wsScen As Worksheet
    Dim wsComm As Worksheet
    Dim wsOuts As Worksheet
    Dim rDDList As Range
    Dim rDDCell As Range
    Dim rDDValue As Range
    Dim rCopy As Range
    Dim rDest As Range

    Set wb = ActiveWorkbook
    Set wsScen = wb.Sheets("Scenario")
    Set wsComm = wb.Sheets("Comm O & S")
    Set wsOuts = wb.Sheets("Detailed Outputs")

    Set rDDList = wsComm.Range("A31:L31")
    Set rDDValue = wsScen.Range("D14")
    Set rCopy = wsOuts.Range("T52:T60")
    Set rDest = wsComm.Range("C7")

    For Each rDDCell In rDDList.Cells
        rDDValue.Value = rDDCell.Value
        rDest.Resize(rCopy.Rows.Count, rCopy.Columns.Count).Value = rCopy.Value
        Set rDest = rDest.Offset(, rCopy.Columns.Count)
    Next rDDCell

End Sub

【讨论】:

  • 谢谢你 100x,tigeravatar!这完美地工作并帮助我努力使用 Dim 设置变量。谢谢!
猜你喜欢
  • 2019-05-20
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 2019-12-27
  • 2015-12-02
  • 2018-01-05
  • 2016-01-10
  • 1970-01-01
相关资源
最近更新 更多