You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击按钮同时向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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:33:29