グローバル変数の種類を宣言したいと思います。私がしたいのは、これらの変数を初期化し、マクロで使用し、他のマクロで値を変更することです。公開か定数ですか?
私は、パブリック変数としてそれを書くために始めた:
Option Explicit
'definition of global variables
Public r_start As Integer
Public r_end As Integer
Public c_little As Integer
Public c_big As Integer
Public c_sel_start As Integer
Public c_sel_end As Integer
Public c_data_start As Integer
Public c_data_end As Integer
Public Sub Init_Globals()
' Access global variable initialization
r_start = 20
r_end = 833
c_little = 6
c_big = 5
c_sel_start = 1
c_sel_end = 4
c_data_start = 11
c_data_end = 101
End Sub
ここでの問題は、私は私の初期値を変更したい場合、私はそう私のサブプロシージャーの各Sub_Init_Globals()を呼び出す必要があり、ということです他のSubProcedures内のグローバル変数を使用している場合、これらの変更は行われません。
このような変数を作成する方法をご存知ですか?あなたはこれらの変数を宣言するとのWorkbook_Openサブに値を割り当てることができます)
1:
1つのアプローチは、変数を含むクラスモジュールを使用し、そのクラスモジュールのインスタンスをインスタンス化することです。これはまだ「プロジェクトリセット」に対して脆弱です。 – Bathsheba
Workbook_Open()イベントでInit_Globals()を呼び出す方法が1つあります。 –