想在VB加入一个按钮执行表格汇总程序,加入按钮后不知道如何编写代码调用程序执行,请帮忙修改一下,谢谢!
VB中想增加一个按钮来执行以下程序,执行报错无法调用,请帮忙修改一下程序,感谢!


Private Sub CommandButton1_Click()
MergeSheetsFullData
End Sub
Sub MergeSheetsFullData()
Dim ws As Worksheet
Dim target As Worksheet
Dim sourceLastRow As Long, sourceLastCol As Integer
Dim targetLastRow As Long
' 设置目标为"汇总"Sheet(需提前创建)
Set target = ThisWorkbook.Sheets("汇总")
Application.ScreenUpdating = False
' 清除旧数据(保留标题行)
If target.UsedRange.Rows.Count > 1 Then
target.Range("A2", target.Cells.SpecialCells(xlCellTypeLastCell)).ClearContents
End If
' 遍历所有Sheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> target.Name Then
' 动态获取源数据范围
sourceLastRow = GetLastRow(ws) ' 获取实际最后一行
sourceLastCol = GetLastColumn(ws) ' 获取实际最后一列
If sourceLastRow > 1 And sourceLastCol > 0 Then
' 构建动态数据范围(A2到最后一列最后一行的矩形区域)
With ws.Range(ws.Cells(2, 1), ws.Cells(sourceLastRow, sourceLastCol))
' 获取目标粘贴起始位置
targetLastRow = target.Cells(target.Rows.Count, 1).End(xlUp).Row + 1
If targetLastRow = 2 And target.Range("A1").Value = "" Then targetLastRow = 1
' 精准复制(值+格式)
.Copy
target.Cells(targetLastRow, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
End If
End If
Next ws
Application.ScreenUpdating = True
MsgBox "合并完成!共处理 " & ThisWorkbook.Sheets.Count - 1 & " 个Sheet", vbInformation
End Sub
' 获取实际最后一行(考虑所有列)
Function GetLastRow(ws As Worksheet) As Long
On Error Resume Next
GetLastRow = ws.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
If Err.Number <> 0 Then GetLastRow = 1
On Error GoTo 0
End Function
' 获取实际最后一列(考虑所有行)
Function GetLastColumn(ws As Worksheet) As Integer
On Error Resume Next
GetLastColumn = ws.Cells.Find("*", , xlFormulas, , xlByColumns, xlPrevious).Column
If Err.Number <> 0 Then GetLastColumn = 1
On Error GoTo 0
End Function
End Function
End Sub
相关推荐
VBA示例之 求人不如自已动手 Shell调用的程序执行完成后再执行其它程序
如果想设置一个超时时间,可以替换为一个正整数值。标签"shell 调用 程序 VBA VB6.0"提示我们这个示例也适用于VB6.0,因为VBA和VB6都支持Shell函数和相关的API调用。
VB程序:数字时间显示源代码及执行文件.zip
窗体文件是Visual Basic中用于存储窗体(Form)设计信息的重要文件。窗体是VB程序中的基本组成单元,它定义了程序的外观和用户界面。每个窗体文件通常包含一个类,这个类继承自VB的Form类,它描述了窗体的属性、控件以及事件处理代码等。窗体文件的扩展名是.frm,通常在VB的集成开发环境中(IDE)进行编辑和管理。窗体文件的作用主要体现在以下几个方面:用户交互:窗体文件定义了与用户交互的界面元素,如按钮、文本框、列表框等,使用户能够通过这些界面元素与程序进行交互。界面设计。
VB编写“你爱不爱我?”搞笑程序及源代码
在VB中,代码通常写在Form的代码窗口里,每个控件都有自己的事件处理程序。例如,当用户点击按钮时,会触发Click事件。我们可以为这个按钮编写一个Sub过程,处理用户的输入。
调用浏览器程序(VB6.0源代码)调用浏览器
**设置按钮事件处理程序**:在窗体的代码视图中,找到或添加一个按钮控件,然后为它的`Click`事件编写代码。当用户点击按钮时,这段代码将被执行。
计算器程序(VB6.0代码编写)计算器
每个按钮都可以关联一个事件处理程序,当用户点击按钮时,对应的事件会被触发。对于基础的四则运算,我们可以为每个运算符按钮编写事件处理程序。


