【问题标题】:vba public variables with changing months月份变化的vba公共变量
【发布时间】:2018-06-02 08:02:42
【问题描述】:

我是 VBA 的初学者,所以我不知道出了什么问题。我的意思是给一些床单命名,但我认为我可以将它们调暗为字符串。我制作了公共变量,但 vba 没有看到它。有人能告诉我哪里出了问题吗?

Public Sub VariableMonths()
    Public one, two, three, DeleteIt As String

    one = "M_11_17"
    two = "M_10_17"
    three = "M_09_17"
    DeleteIt = "M_08_17"
End Sub

然后在这个公共子之后的某个部分 - 没有找到变量

Sheets(two).Copy Before:=Sheets(4)
Sheets(two & "( 2)").Select
Sheets(two & "( 2)").Move Before:=Sheets(two)
Sheets(two & "( 2)").Select
Sheets(two & "( 2)").Name = one
Sheets(two).Select
Cells.Select
Selection.Copy

【问题讨论】:

  • Public one as String, two as String, three as String, DeleteIt As String 放在模块顶部,并从sub 中删除Public one, two, three, DeleteIt As String。然后运行第一个来分配值。
  • Public 在程序范围内是不合法的。使用Dim 声明局部变量。公共变量不能在过程范围内声明。
  • 如果您出于某种原因需要它们成为Public,请在模块顶部的过程之外定义它们。
  • 或许,这些应该是Public Const

标签: vba excel variables public


【解决方案1】:

在标准模块中:

Dim one As String, two As String, three As String, DeleteIt As String

Sub setupVariables()
    one = "M_11_17"
    two = "M_10_17"
    three = "M_09_17"
    DeleteIt = "M_08_17"
End Sub

Sub MAIN()
    Call setupVariables
    MsgBox three
End Sub

【讨论】:

    猜你喜欢
    • 2015-10-27
    • 2020-06-10
    • 2014-03-15
    • 2020-01-08
    • 2021-03-27
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多