首页 文章

复制一行,在多个工作表Excel VBA上插入多个带有粘贴信息的新行

提问于
浏览
1

Data这是每个地区代码的所有项目

我在同一工作簿中有一个“新项目”工作表,一个“数据”工作表和一个“视图”工作表 . 在我的“New Item”工作表中,我有一个B2:H2用于输入新项目,然后单击一个按钮来运行宏 . 我需要帮助修复错误 . 它运行但是为每个点添加“true”而不是复制的部分 .

我需要宏来添加一行,复制区域代码(在A列中;有超过30个区域,但默认情况下每个项目都添加到一个区域),在新行的B:H列中插入B2:H2在“数据”表上,也只是将其添加到“视图”表的末尾 . 它现在保持输入真实 . 为什么这样做?另外,为什么代码不复制B2:H2?我是VBA的新手 .

如果可能的话,如果有办法在视图表上调整图表的选定数据以向查看的数据添加一行,那就太棒了 . 例如:图表显示50行,并通过宏向所选数据添加另一行 .

提前感谢您提出的所有建议 . 如果需要,我可以澄清任何内容或上传excel . 这是迄今为止的代码:

Sub AddItem()
   Sheets("Data").Select
        Dim lastRow As Long
        Dim rowPtr As Long
        lastRow = Range("A" & Rows.Count).End(xlUp).Row
    For rowPtr = lastRow To 2 Step -1
        If Not IsEmpty(Range("A" & rowPtr)) Then
          If Range("A" & rowPtr) <> Range("A" & rowPtr - 1) Then
            Range("A" & rowPtr).EntireRow.Insert
          End If
        End If
  Next
   Sheets("New Item").Select
   Application.ScreenUpdating = False
   Dim copySheet As Worksheet
   Dim pasteSheet1 As Worksheet

   Set copySheet = Worksheets("New Item")
   Set pasteSheet1 = Worksheets("Data")

   copySheet.Range("B2:H2").Copy
   pasteSheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 1).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   Application.ScreenUpdating = True
End Sub

1 回答

  • 0

    所以我不确定这是不是你想要的 .

    Sub Add()
    Dim Data As Worksheet, NItem As Worksheet, View As Worksheet
    Dim lRow As Long
    
    Application.ScreenUpdating = False
    
    Set NItem = Worksheets("New Item")
    Set Data = Worksheets("Data")
    Set View = Worksheets("View")
    
    lRow = View.Cells(View.Rows.Count, 2).End(xlUp).Row
    
    Data.Range("A2").EntireRow.Insert
    NItem.Range("B2:H2").Copy
    Data.Range("B2").PasteSpecial xlPasteValues
    View.Cells(lRow + 1, 2).PasteSpecial xlPasteValues
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    

    但这会在数据表的第2行中添加一行,粘贴值 . (你的 For 循环在每个条目后插入一个新行,为什么?) . 它还将其粘贴到视图表中 . 除此之外,请避免使用 .Select 和objectify .Range, .Cells etc. ,就像你在代码的第二部分中所做的那样 .

相关问题