[英]Loop through dropdown and copy-paste
我正在嘗試遍歷下拉列表中的所有值,其源在工作表“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
試試這個:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.