如何实现点击按钮同时向Sheet 1和Sheet 2添加指定数量行?
同步为Sheet1和Sheet2添加指定行数的VBA代码修改方案
以下是修改后的代码,实现点击按钮时同时为Sheet1和Sheet2添加相同数量的行:
Sub RectangleRoundedCorners7_Click() Dim tmpStr As String, howMany As Integer ' 获取要添加的行数 tmpStr = InputBox("请输入要添加的行数?{提示:如果最后一行仍为空,请不要添加行}") If Len(tmpStr) = 0 Then howMany = 0 Else ' 增加非数字输入的容错处理 On Error Resume Next howMany = CInt(tmpStr) On Error GoTo 0 If howMany < 1 Then howMany = 0 End If ' 同步为两个工作表添加行 AddRowsToSheet ThisWorkbook.Sheets("Sheet1"), howMany AddRowsToSheet ThisWorkbook.Sheets("Sheet2"), howMany End Sub ' 封装通用的添加行逻辑,避免重复代码 Private Sub AddRowsToSheet(targetSheet As Worksheet, rowCount As Integer) Dim i As Long Dim targetRow As Range If rowCount < 1 Then Exit Sub With targetSheet ' 定位到B7向下最后一个非空行的整行 Set targetRow = .Range("B7").End(xlDown).EntireRow For i = 1 To rowCount targetRow.Copy targetRow.Offset(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove ' 清空新插入行的常量单元格内容 targetRow.Offset(1).SpecialCells(xlCellTypeConstants).Value = "" Application.CutCopyMode = False Next i End With End Sub
关键改动说明:
- 封装通用过程:把添加行的逻辑抽成
AddRowsToSheet私有子过程,减少重复代码,也方便后续扩展其他工作表的同步操作。 - 明确指定工作表:通过参数指定目标工作表,避免依赖当前激活工作表导致的操作错误。
- 增强输入容错:添加非数字输入的错误处理,防止输入无效内容时代码报错。
- 同步双表操作:在主过程中分别调用通用过程,实现Sheet1和Sheet2的行数同步添加。
内容的提问来源于stack exchange,提问作者Wafee89
相关产品推荐
相关产品推荐

