Excel VBA 将所选数据添加到另一行 Sheet

Excel VBA Add Data Selected to Row on Another Sheet

我是 Excel VBA 的新手。我有一个 sheet,在名为“摘要”的 sheet 单元格 A21:D21 中有 4 个下拉列表。我正在尝试创建一个按钮功能,当单击该功能时,将下拉列表中的 4 个选定值插入到另一个名为“数据”的 sheet 上的新行(最好是第一个空行)。

这是我目前写的函数:

Sub Add_Button()
    Summary.Range("A21:D21").Copy
    Data.Range("A2:D2").Rows("1:1000").Insert Shift:=xlDown
End Sub

这是我收到的错误:

如有任何帮助,我们将不胜感激!

你的问题不是很清楚,你没有回答澄清问题...

如果您想在“数据”的末尾插入sheet,请使用下一个代码:

Sub Add_Button()
  Dim Summary As Worksheet, data As Worksheet, lastRD As Long
    
    Set Summary = Worksheets("Summary") 'use here your real sheet
    Set data = Worksheets("Data")       'use here your real sheet             
    lastRD = data.Range("A" & data.rows.count).End(xlUp).row + 1 'last empty row
    
    data.Range("A" & lastRD).Resize(1, 4).Value2 = Summary.Range("A21:D21").Value2
End Sub

如果要在特定行插入复制的范围,请使用下一个变体:

Sub Add_ButtonX()
  Dim Summary As Worksheet, data As Worksheet, insertRow As Long
    
    Set Summary = Worksheets("Summary") 'use here your real sheet
    Set data = Worksheets("Data")       'use here your real sheet
    insertRow = 20  'rows on which to insert copied data
    Summary.Range("A21:D21").Copy
    data.Range("A" & insertRow).Insert Shift:=xlDown
End Sub

要将值粘贴到第一个空行,请使用此行:

Sub Add_ButtonInsEmptyRow()
  Dim Summary As Worksheet, data As Worksheet, frstER As Long
    
    Set Summary = Worksheets("Summary") 'use here your real sheet
    Set data = Worksheets("Data")       'use here your real sheet
    frstER = data.Range("A2").End(xlDown).row + 1 'first empty row

    data.Range("A" & frstER).Resize(1, 4).Value2 = Summary.Range("A21:D21").Value2
End Sub