[英]Create a list with values from multiple Excel sheets
我正在處理將通過工作表“voorblad”中的下拉菜單運行的 VBA 代碼。
對於下拉菜單中的每個值,我想復制值“Voorblad”.range“K9”和“Calculation”.range“G35”並將其粘貼到名為“LIST Sheet”的工作表中。
VBA 旨在創建所有值的列表。
Sub CreateList()
Dim Answer As VbMsgBoxResult
Answer = MsgBox("Validation message!", vbYesNoCancel, "CreateList")
If Answer = vbYes Then
Application.ScreenUpdating = False
With Sheets("Voorblad").Range("K9").Validation
For Each rCell In Range(.Formula1)
.Parent.Value = rCell.Value
Sheets("Voorblad").Select
Range("K9").Select
ActiveCell.Copy
Sheets("LIST Sheet").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("LIST Sheet").Select
ActiveCell.Offset(1, 0).Select
Sheets("Calculation").Select
Range("G35").Select
ActiveCell.Copy
Sheets("LIST Sheet").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("LIST Sheet").Select
ActiveCell.Offset(1, 0).Select
Next rCell
.Parent.Value = ""
End With
Application.ScreenUpdating = True
MsgBox "Export geslaagd! Het PDF is opgeslagen in jouw Documenten"
End If
End Sub
VBA 代碼未創建列表。 每次宏運行代碼時,它都會重新選擇 Range("B2") 和 Range("G2") 處的預選單元格。 我希望它將值向下粘貼一行。 最終這必須創建一個列表。
要正確創建列表,您需要確保移動到目標工作表(列表表)上的下一個空單元格。 嘗試類似的東西
Sheets("LIST Sheet").Range("G2").End(XLdown).Offset(1,0).PasteSpecial Paste:=xlPastValues
這應該將值放在下一個空白單元格中。 與 G 列相同
HTH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.