同じ Excel ワークブックに小さな sub() をたくさん書いた後、同じパーツ コード、変数、および定数を頻繁に使用していることに気付きました。したがって、コードに funcions() を記述し、関数とサブの外側で変数と定数/静的を Public として宣言することにしました。私は vba 宣言に非常に慣れていないため、これはそれほど簡単ではありません。私が達成したいことの要約を1つ紹介しましょう。ワークブックのモジュール ディレクトリの下にある 1 つのモジュールにすべての関数とサブを記述しました。
Option Explicit
Public ToDate As String ' variable I use in many sub and functions
Public MyPath As String ' variable I use in many sub and functions
Public NameOfWorker As Variant ' constant I use in many sub and functions
Public Salary As Double ' constant I use in many sub and functions
NameOfWorker = Cells(14, 19) ' !!! PB : 14 is highlighed with error : incorrect instruction outside a procedure
Salary = Cells(20, 7).Value '!!! same as above
そのような定数/静的をどのように、どこで宣言する必要がありますか? これらすべての変数と定数を宣言する「特別な」手順を作成しますか? 私はそれらを宣言するために多くの方法を試みましたが、成功しませんでした。
Public Static NameOfWorker = Cells(14, 19) As String ' not working
''''''
Public Static nameOfWorker As String
NameOfWorker = Cells(14, 19) ' not working
''' etc etc
ご協力ありがとう御座います。
編集:さらに読んだ後、この方法で1つの解決策を見つけました:
Public Const MY_PATH = "Y:\path\to\directory\"
Public Const WORKERNAME = "14, 19"
そんなに悪くない :-)