簡體   English   中英

創建包含來自多個 Excel 工作表的值的列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM