发布网友 发布时间:2022-04-22 07:58
共5个回答
热心网友 时间:2022-06-18 04:35
把这段代码复制到你的工作簿VBE窗口中,运行一下,就会在第一张工作表的第一列列出工作簿中的所有工作表名称,若不是想放在第一张工作表上,可更改代码中的WorkSheets(1)括号里的值。
Sub GetShNames()
i = i + 1
For Each wb In ThisWorkbook.Sheets
WorkSheets(1).Cells(i, 1) = wb.Name
i = i + 1
Next
End Sub
热心网友 时间:2022-06-18 04:35
你讲的是自动随第一张表的名字更改,对吧。
右键点第一个工作表的名字,查看代码,粘贴如下代码:
private
sub
worksheet_deactivate()
dim
i
as
byte
for
i
=
2
to
sheets.count
sheets(i).name
=
replace(sheets(1).name,
".1",
"."
&
i)
next
end
sub
回到excel。以后你一旦更改了第一个表格的名字,再点一下其他工作表,名字自动全部更改。
热心网友 时间:2022-06-18 04:36
楼上好方法。补充一下,按ALT+F11进入VBE编辑器,把代码复制进去,按F5运行如果没运用过VBA,这个说明我觉得还是很有必要的
另外,Sheet1工作表(没有重命名的话)的A列不要放数据,会被覆盖掉
热心网友 时间:2022-06-18 04:37
Excel怎样快速生成工作表目录
热心网友 时间:2022-06-18 04:37
alt+F11打开VB编辑器----插入----模块
右侧空白区域里复制如下代码:
Function gname(x As Integer)
If x = 0 Then
gname = ActiveSheet.Name
ElseIf x > 0 And x <= Sheets.Count Then
gname = Sheets(x).Name
ElseIf x > Sheets.Count Then
gname = "超出范围"
End If
Application.Volatile
End Function
关闭VB编辑器,在A1(找一个空列的第一行都可以)里输入 =gname(ROW()) 公式一直下拉至出现“超出范围”为止