首页 > 解决方案 > 停止插入行清除第一行数据

问题描述

我有将 15 行添加到电子表格的代码,该电子表格被复制到新的电子表格中。当我插入行时,它看起来像是覆盖了已经存在的第一行数据。我需要第一行数据仍然存在。

我正在使用一些我可能在这里或网站上找到的代码。在此之前,我过滤了所有数据并删除了额外的行类别。

'prep for adding departments and department subtotals
Rows("1:15").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

data_sh.Range("G:G").Copy Worksheets("IMPORT-WIP").Range("A1")
Worksheets("IMPORT-WIP").Range("A:A").RemoveDuplicates 1, xlYes

第一类的第一行不存在。

标签: excelvba

解决方案


我做了一个例子,因为你没有提供一个。动画 gif(单击以查看更好的质量)首先显示 2 个工作表,然后显示单步执行代码会导致工作表 1 中的数据被复制到插入工作表 2 顶部的 15 行中,而不会丢失第 1 行的内容.

我建议您验证这是否有效,然后根据您的情况修改代码。

在此处输入图像描述

Option Explicit
Sub insertIntoFirst15rows()
Dim data_sh As Worksheet, data_r As Range
Dim sh As Worksheet, r As Range
Set data_sh = Worksheets("1")
Set data_r = data_sh.Range("A1")
Set data_r = data_sh.Range(data_r, data_r.End(xlDown))
Set sh = Worksheets("2")
sh.Activate
Set r = sh.Rows("1:15")
r.Insert Shift:=xlShiftDown
Set r = Range("A1")
r.Select
data_r.Copy
sh.Paste
End Sub

推荐阅读