gpt4 book ai didi

excel - 如何在Excel VBA中引用使用函数的工作簿?

转载 作者:行者123 更新时间:2023-12-02 17:18:32 25 4
gpt4 key购买 nike

我创建了一个名为 SheetAtIndex 的用户定义函数,它返回工作簿中指定索引处的工作表名称。

首先我使用ActiveWorkbook.Sheets(Index).Name来获取工作表的名称。每当我切换到另一个打开的工作簿时,结果都会变得困惑。 这并不奇怪。

ThisWorkbook.Sheets(Index).Name 工作了一段时间,直到我意识到我必须在每个需要 UDF 的工作簿中复制代码。此外,每个需要该功能的文件都必须保存为启用宏的工作簿

最终决定:将该函数放入我个人的宏书中。

问题:如何引用调用函数的工作簿/工作表?

最佳答案

UDF 可以获取对使用 Application.ThisCell 调用它的单元格的引用

获得对调用单元格的引用后,您可以从那里获取工作表 (.WorkSheet) 和工作簿 (.WorkSheet.Parent)

Function SheetAtIndex(Index As Variant) As String
SheetAtIndex = Application.ThisCell.Worksheet.Parent.Worksheets(Index).Name
End Function

或者,获取对工作表的引用

Function SheetAtIndex(Index As Variant) As Worksheet
Set SheetAtIndex = Application.ThisCell.Worksheet.Parent.Worksheets(Index)
End Function

关于excel - 如何在Excel VBA中引用使用函数的工作簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57121489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com