【问题标题】:Excel VBA Add Data Selected to Row on Another SheetExcel VBA 将选定的数据添加到另一个工作表上的行
【发布时间】:2021-08-01 16:53:56
【问题描述】:

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

这是我目前写的函数:

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

这是我得到的错误:

任何帮助将不胜感激!

【问题讨论】:

  • 该行(在“数据”表中)应该是最后一行吗?如果不是,根据什么逻辑来判断呢?您使用工作表代号吗?
  • 当前程序对数据一无所知。如果它在多个过程中使用,则必须声明为Public Data as object。另外,在这段代码之前,你需要Set Data = ...

标签: excel vba copy-paste


【解决方案1】:

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

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

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

【讨论】:

  • 嗨@FaneDuru 对于延迟响应和缺乏明确性,我深表歉意。我已经编辑了我的问题以更清楚。这是在“数据”表中插入一行。非常感谢您的回答!
  • @SD_23 然后,为了在第一个空行中插入单元格值,我将发布第三个版本...添加了新的代码变体。
猜你喜欢
  • 1970-01-01
  • 2015-04-12
  • 2018-02-08
  • 2017-06-24
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多