怎么快速提取一个excel文件中的所有工作表名

 我来答
81821985
2018-06-07 · 知道合伙人软件行家
81821985
知道合伙人软件行家
采纳数:9470 获赞数:15113

向TA提问 私信TA
展开全部
这个只能用vba来解决:
取所有工作表名称
按下 alt+f11 ,选择插入 模块,然后复制如下代码:
Sub Excel各页名()
Dim XStr, YStr, ZStr
XStr = " -"
ZStr = ""
For i = 1 To Worksheets.Count
If Worksheets(i).Name =
"目录" Then
Exit For
End If
Next
If i > Worksheets.Count
Then
Sheets.Add
ActiveSheet.Name =
"目录"
End If
Sheets("目录").Move
before:=Sheets(1)
Sheets("目录").Select
Range("A:B").Clear
Range("B:B").NumberFormatLocal
= "@"
Worksheets(1).Cells(1,
1).Value = "序号"
Worksheets(1).Cells(1,
2).Value = "名称"
For i = 2 To Worksheets.Count
Worksheets(1).Cells(i,
1).Value = i - 1
Worksheets(1).Cells(i,
2).Value = Worksheets(i).Name
For j = 1 To
Len(Worksheets(i).Name)
YStr = Mid(Worksheets(i).Name,
j, 1)
If InStr(XStr, YStr) <>
0 Then
ZStr = "'"
Exit For
End If
Next
ActiveSheet.Hyperlinks.Add
Anchor:=Worksheets(1).Cells(i, 2), Address:="", SubAddress:=ZStr
& Worksheets(i).Name & ZStr & "!A1",
TextToDisplay:=Worksheets(i).Name
Next
Range("A:A").HorizontalAlignment
= xlCenter
Rows("1:1").HorizontalAlignment
= xlCenter
Cells.Select
Selection.Columns.AutoFit
Range("A1").Select
End Sub
然后运行宏(可能会提示无法使用vba需要另外保存支持格式之类)
销香叶雨
2018-06-07 · TA获得超过3705个赞
知道大有可为答主
回答量:2045
采纳率:86%
帮助的人:463万
展开全部

楼上给出了代码

给个公式法吧,用公式来快速获取excel工作簿内所有工作表名

分为两步,

第一步,添加名称

公式——名称,

名称填写“表名”

引用位置填写如下公式

=IFERROR(GET.CELL(32,INDIRECT("Sheet"&ROW()&"!$A$1")),"")

第二步获取表名

在A1单元格输入公式

=表名

公式下拉即可

另外,用vba的方法,代码整理如下

Sub BM()
    i = 1
    For Each sht In Sheets
        Cells(i, 1) = sht.Name
        i = i + 1
    Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式