vba - 独立使用部分宏代码
问题描述
我有一个疑问!我有一个在工作簿中合并 22 张工作表的代码。现在我想为每张工作表准备单独的按钮,这样如果用户想要他们可以只合并他们需要的工作表,而不是所有 22 张工作表。
我只知道创建 22 个独立模块的方法,其中包含与每张工作表相关的部分代码。有没有其他简洁的方法不让我准备 22 个单独的模块?
代码示例:
表格(“AT”)。选择“所需的任何代码”
Sheets("DE").select "所需的任何代码"
等等....如果问题不清楚,请告诉我。
解决方案
您只需要一个模块。当您单击工作表上的按钮时,它将位于活动工作表上。因此,您只需对活动表而不是工作簿中的每张表进行操作。
如果我正在做这项工作,我将创建一个用户表单,其中包含用户可以选择的工作表名称列表,然后模块将逐步遍历列表中每个选定的工作表名称并执行您需要的任何操作。整个工作簿操作的复选框也很有用。
使用命令按钮和名为“myListBox”的列表框创建一个新的用户窗体,并确保 MultiSelect 属性设置为多而不是单,然后添加以下代码。这将遍历工作簿中的每个工作表并将名称添加到列表框中。选择多个名称并单击命令按钮后,它将将选定的名称打印到立即窗口
Private Sub UserForm_Initialize()
Dim wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
Me.myListBox.AddItem wks.Name
Next
End Sub
Private Sub CommandButton1_Click()
For i = 0 To myListBox.ListCount - 1
If myListBox.Selected(i) Then
Debug.Print myListBox.List(i)
End If
Next i
End Sub
推荐阅读
- django - 传输数据 | Django Heroku
- android - 以编程方式设置焦点模式
- apache-spark - 带有 Spark Streaming 的 Kafka 在本地工作,但在独立模式下不工作
- api - 使用 api Sharepoint 和 Postman 更新 Sharepoint 元数据列
- mysql - 触发插入特定列和特定值mysql的更新
- .net - 串口在关闭前断开
- apache-kafka - 每当kafka消费者服务(KafkaSource on Knative)上有任何http错误代码时如何重新传递消息
- excel - 图表动画不再适用于 2016 VBA
- reactjs - 尝试使用 React Router v6 时出错:尝试导入错误:“操作”未从“历史”导出
- flutter - 使用提供程序在错误显示快餐栏时出错