Excel VBA需求:复制带公式行及跨表同步删除行修复
Excel VBA 行复制与删除问题处理
现有问题
- Sheet1的复制行代码可正常运行,但在其他工作表无法生效;
- 删除行代码可正常删除Sheet1的行,但在Sheet4、6执行时会导致其他行出错。
需求
- 点击命令按钮时,插入新行并复制上方行,仅保留公式,不复制单元格值;
- 编写Delete Row的VBA代码,删除Sheet1行的同时同步删除Sheet4、6的对应行且无错误。
已调整公式
- Sheet1(Base Year)单元格J11公式:
=INDIRECT("Calculations!I" & ROW()-4),数据来自Sheet4(Calculations)的I列; - Sheet2(Option Yr)单元格J11公式:
=INDIRECT("Calculations!I" & ROW()+36),Sheet4对应单元格公式已调整为+36,与Option Yr的J11单元格匹配。
当前代码
复制行代码
Sub CopyDown() SelRow = ActiveCell.Row HideButtons MoveButtons With ActiveSheet ActiveSheet.Range(SelRow & ":" & SelRow).Copy ActiveSheet.Range(SelRow & ":" & SelRow).Insert xlDown Application.CutCopyMode = False DisplayButtons End With Calculations.Range(SelRow - 4 & ":" & SelRow - 4).Copy Calculations.Range(SelRow - 4 & ":" & SelRow - 4).Insert xlDown End Sub
删除行代码
Sub DeleteRow() SelRow = ActiveCell.Row MoveButtons ActiveSheet.Range(SelRow & ":" & SelRow).EntireRow.Delete ActiveSheet.Range("A" & SelRow).Select DisplayButtons Calculations.Range(SelRow - 4 & ":" & SelRow - 4).EntireRow.Delete CostSummary.Range(SelRow - 4 & ":" & SelRow - 4).EntireRow.Delete End Sub
删除行问题现状
目前删除行代码可正常删除Sheet1(IGCE)及对应的Calculations工作表行,但暂无方案解决Sheet4、6删除行时的错误问题。
内容的提问来源于stack exchange,提问作者SMADEATH
相关产品推荐
相关产品推荐

