gpt4 book ai didi

excel - 在 VBA 中定义跨 Subs(带模块)的变量

转载 作者:行者123 更新时间:2023-12-02 23:36:21 26 4
gpt4 key购买 nike

想要在模块中的一个位置定义引用变量(使用 ActiveSheet.Cells[row, col] 从工作表中的单元格调用值),以便在 MS Excel 文件中的多个子项中使用。该文件是一个 Action 跟踪器,订阅者自动执行一些电子邮件发送(每个订阅者在给定条件下打开电子邮件)。每个子的所有引用变量都是相同的 - 在一个地方定义将使维护电子表格变得更加简单。

尝试在第一个子上方定义变量,错误消息出现在第一个值上(如下详述)。我搜索了(a)全局变量和(b)如何定义上面的子变量。然而,(a) 变量都在同一模块中 (b) 错误消息如下所述。我没有找到有关使用 ActiveSheet.Cells() 引用定义变量的指南。

Option Explicit
'Defines variables for all macros:

'Defining Reference Variables
Today = ActiveSheet.Cells(2, 4)
ActionLogTitle = ActiveSheet.Cells(3, 3)
IPT_Leader = ActiveSheet.Cells(7, 7)

(Today = ActiveSheet.Cells(2,4) 错误在“2”上突出显示)

Compile error: Invalid outside procedure

最佳答案

正如编译器所暗示的那样,您不能在子/函数之外编写赋值。

您可以为每个变量声明一个函数:

Function MyValue()
MyValue = ActiveSheet.Cells(2, 4).Value
End Function

理想情况下,您不要使用 ActiveSheet,除非那确实是您想要的。

关于excel - 在 VBA 中定义跨 Subs(带模块)的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58490190/

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