gpt4 book ai didi

vba - 如何通过VBA引用单元格中提到的另一个工作表的单元格

转载 作者:行者123 更新时间:2023-12-03 00:20:14 30 4
gpt4 key购买 nike

我有一个名为“Book1”、“Sheet1”和“Sheet2”的 Excel 文件。在Sheet1中,A1的单元格值为“'[Book1.xlsb]Sheet2'!$A$14”,它是由一些公式结果得出的。我希望通过 VBA 选择单元格 A1 中提到的单元格引用。

我已将 VB 代码设置为

Range(Range("A1")).Select or Range([Indirect("A1")]).Select

此代码仅当 A1 中引用的单元格位于同一工作表中时才有效,但如果引用的单元格位于不同工作表中则不起作用

有人可以帮忙解决这个问题吗

最佳答案

由于两个工作表(“Sheet1”和“Sheet2”)位于同一工作簿中,因此“Sheet1”单元格 A1 中的值应为“Sheet2!$A$14”

下面的代码比实际需要的要长一些,但我想通过所有步骤来更好地解释。

我使用 Split 函数来分离 Worksheet 名称和 Range.Address,并将结果放入 2 个数组元素中。

然后,您检索第一个数组 RngString 元素作为工作表的名称,然后第二个数组元素是 range.address。

代码

Option Explicit

Sub SelectRange()

Dim Rng As Range
Dim RngString As Variant
Dim ShtName As String
Dim RngAddress As String

RngString = Split(Worksheets("Sheet1").Range("A1").Value, "!")

' sheet name is the first array element
ShtName = RngString(0)

' Range address is the second array element
RngAddress = RngString(1)

' setting the Rng object
Set Rng = Worksheets(ShtName).Range(RngAddress)

' since your range is in another worksheet, you need to activate it first
Worksheets(ShtName).Activate
' select the range
Rng.Select

End Sub

关于vba - 如何通过VBA引用单元格中提到的另一个工作表的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949897/

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