vba 指定列后插入列_如何用【VBA】快速批量提取多个工作表名称?

      工作中,我们有时会需要将多个工作表Sheet的名称提取出来,制作成一个目录,如果一个一个去复制粘贴,效率肯定是很低的,如果Sheet数量很多,会严重影响我们的工作进度,那该如何处理呢?

使用VBA快速处理

方法如下:

Step1:调出【开发工具】选项卡,单击【文件】选项卡-【选项】-【自定义功能区】,在主选项卡中,把【开发工具】前面的“√”选上,然后确定即可

cb31ec1e481dc90d805e8adf3d6d4a84.gif

Step2:单击 【开发工具】选项卡,在“代码”选项组中选择“Visual Basic”,弹出【模块代码】编辑框,选择Microsoft Excel 对象,然后单击【插入】选项卡,选择【模块】,然后把写好的宏放在右边的编辑框里,然后把代码编辑框关掉

a9906d3578be8c8d3e313185c4273b54.gif

*VBA代码如下:

Sub 提取工作表名称()

Dim i!

Cells(1, 1).Value = "表名"

For i = 1 To Sheets.Count

Cells(i + 1, 1).Value = Sheets(i).Name

Next i

End Sub

Step3:单击Excel中的【插入】选项卡,单击【形状】按钮,随便选择一个文本框,然后输入文字,单击文本框,鼠标右键,选择【指定宏】选项,选择刚才编辑的宏,然后确定即可, Step4:当我们单击“提取工作表的名称”按钮时,在A列就会看到每个表的名称都提取出来了

4c2f702ec8bb10c8f0480a7674d9c852.gif

你学会了吗?

欢迎关注和转发

VBA是Visual Basic for Applications(VBA)的缩写,它是一种程序语言,可用于在微软的Office应用程序中自动化任务。当我们需要合并多个工作薄下的指定工作指定时,可以使用VBA来完成这个任务。 首先,我们需要打开一个新的工作薄,作为合并结果的目标工作薄。然后,我们需要编写VBA代码来遍历每个源工作薄,并复制指定工作到目标工作薄。 下面是一个示例代码,它假设要合并的工作薄的名称已知,合并的工作Sheet1,需要合并的为A: ``` Sub 合并工作薄() Dim 目标工作薄 As Workbook Dim 源工作薄 As Workbook Dim 目标工作 As Worksheet Dim 源工作 As Worksheet Dim 目标 As Range Dim 源 As Range Set 目标工作薄 = ThisWorkbook '将当前工作薄设为目标工作薄 Set 目标工作 = 目标工作薄.Sheets("Sheet1") '设置目标工作 '遍历源工作薄 For Each 源工作薄 In Workbooks If 源工作薄.Name <> 目标工作薄.Name Then '跳过目标工作薄 Set 源工作 = 源工作薄.Sheets("Sheet1") '设置源工作 Set 目标 = 目标工作.Range("A1:A" & 源工作.Cells(Rows.Count, 1).End(xlUp).Row) '设置目标 Set 源 = 源工作.Range("A1:A" & 源工作.Cells(Rows.Count, 1).End(xlUp).Row) '设置源.Copy 目标 '复制源到目标 End If Next 源工作薄 MsgBox "合并完成!" End Sub ``` 在上面的代码中,我们使用了一些变量来引用目标工作薄、源工作薄、目标工作、源工作、目标和源。我们使用循环遍历源工作薄,并使用Copy方法将源中的数据复制到目标中。最后,我们弹出一个对话框来显示合并完成的消息。 可以根据实际需求对上面的代码进行修改,比如指定不同的工作。希望这个回答对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值