gpt4 book ai didi

VBA:使用字符串常量指定范围

转载 作者:行者123 更新时间:2023-12-04 21:39:03 27 4
gpt4 key购买 nike

我正在尝试制作一个简单的函数来计算代号为 LINES 的工作表中列出的管道数量。表格 LINES 中将列出行的范围是 $A$2:$A$1048576,我已将范围命名为“LineList”。我制作了一个模块,其中包含我所有的硬编码全局常量,以便将来可以轻松更改它们。 LineList 范围的名称是其中之一,定义如下:

Public Const LINELIST_RNG As String = "LineList"

我的功能如下。出于某种原因,由于 LINELIST_RNG 为空,此命令失败:
Function numLines() As Integer
numLines = WorksheetFunction.CountA(LINES.Range(LINELIST_RNG))
End Function

但是,如果我将范围名称硬编码到这个函数中,它就可以正常工作:
numLines = WorksheetFunction.CountA(LINES.Range("LineList"))

我不确定为什么 .Range 对象不能将 LINELIST_RNG 作为参数,但会采用“LineList”。

最佳答案

以下代码工作正常:

Option Explicit

Public Const LINELIST_RNG As String = "LineList"

Public Sub test()

Dim r1 As Range
Dim r2 As Range

Set r1 = Sheets(1).Range("LineList")
Set r2 = Sheets(1).Range(LINELIST_RNG)

MsgBox r1.Cells(1, 1).Value
MsgBox r2.Cells(1, 1).Value

End Sub

所以你的代码中一定还有其他事情发生。打开选项显式,它可能会为您指明正确的方向

关于VBA:使用字符串常量指定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692174/

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