作为变量传递的VBA全局变量

问题描述 投票:0回答:1

我有一个正在运行的VBA项目。我认为唯一的变化是将变量从本地移动到全局。字符串是子元素的参数。我现在想知道为什么? “数据库”是工作簿中的工作表之一...

它曾经有用,我只是从局部变量声明更改为全局(公共Const)变量声明。将鼠标悬停在变量上将按预期显示sh =“ Database”和rng =“ C9:AK47”。该工作表和范围也可以在活动工作簿中找到。

----错误:下面的“设置”行错误为“下标不在范围内”---问题:为什么?抱歉,我还不清楚,但是它在起作用,我只是改变了一件事情...

''' globals
Option Explicit
Public Const gshDb As String = "Database"
Public Const grgDb As String = "C9:AK47"
''' call
breakFormulas True, gshDb, grgDb
''' sub
Sub breakFormulas(switch As Boolean, sh As String, rng As String)
Dim shRng As Range
Set shRng = Sheets(sh).Range(rng) ' yellow highlighted error - subscript out of range
excel vba global-variables
1个回答
0
投票

这一切都很好。我放屁了,工作表名称是“仪表板”而不是“数据库”。列出的错误告诉我很清楚“检查工作表名称”。我确实喜欢10次,但是我必须看11次才能看到它。有时候我只是愚蠢。

© www.soinside.com 2019 - 2024. All rights reserved.