excel - 在 Excel 中创建目录的论坛
问题描述
我正在寻找一个可以直接在单元格中使用的公式来读取所有活动选项卡的名称。请参阅相同的屏幕截图。
还有一个=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)公式,但它只给出当前选项卡名称。虽然这很容易使用宏来实现,但如果能得到公式那就太好了。
解决方案
我注意到您说的是公式,但您可以使用一个非常简单的用户定义函数(UDF),该函数位于 VBE 的标准模块中(使用Alt+打开F11)
Option Explicit
Public Function GetTabName(ByVal tabIndex As Long) As String
GetTabName = ThisWorkbook.Worksheets(tabIndex).Name
End Function
工作表索引作为参数传递到 UDF,并返回相关的工作表名称。
如果测试可见工作表,您可以使用以下内容,它对未找到工作表有额外的处理:
Option Explicit
Public Function GetTabName(ByVal tabIndex As Long) As String
Dim ws As Worksheet
On Error GoTo Errhand
Set ws = ThisWorkbook.Worksheets(tabIndex)
If ws.Visible Then
GetTabName = ThisWorkbook.Worksheets(tabIndex).Name
Else
GetTabName = "N/A"
End If
Errhand:
If Err.Number <> 0 Then
Select Case Err.Number
Case 9
GetTabName = "Sheet not found"
End Select
End If
End Function
推荐阅读
- angular - Validating Image Dimensions in Angular 7
- rust - 是否可以在不恐慌的情况下在 Rust 中打印回溯?
- c# - Bot Framework 虚拟助手作为 MS Teams Bot
- python-3.x - 动态 DAG 创建在 Apache 气流中未按预期工作
- bash - 使用 bash 从 ipmitool 文本文件中提取值
- r - 基于提取部分字符串 - R
- amazon-web-services - 如何在 CloudFormation cfn-init 中启动长时间运行的 JAR?
- asp.net - ng serve -o 显示空白浏览器屏幕
- python - 合并单元格在 Python PPTx 中不起作用
- mysql - SQL 尝试在同一选择结果列中使用文本和日期