このフォーラムと他のフォーラムの両方で同様の質問が提起されているのを見て、これを投稿する前に考えられるすべての組み合わせを試しました. また、ユーザーフォームに関するいくつかの教科書やより技術的なサイトを参照しましたが、正しく理解できないようです。
モジュールで参照したいユーザーフォームで変数を作成します。それらをグローバルとしてラベル付けし、ユーザーフォームとモジュールの両方、ユーザーフォームのみ、モジュールのみ、および他のいくつかの組み合わせで定義しようとしましたが、正しくありませんでした。
これは私が今持っているものであり、私が読んだすべてのものは正しいはずです:
*ユーザーフォームの宣言セクション:
Dim ABC as Workbook
Dim Primary as Workbook
※ユーザーフォームのコマンドボタン部分に
For j = 0 To (ListBox1.ListCount - 1)
If ListBox1.List(j) Like "ABC" Then
Set ABC = Workbooks(ListBox1.List(j))
ABC.Activate
Exit For
End If
Next
For i = 0 To (ListBox1.ListCount - 1)
If ListBox1.List(i) Like "Aggregate" Then
Set Primary = Workbooks(ListBox1.List(i))
Primary.Activate
Exit For
End If
Next
*これは、さらにいくつかの変数についても続き、それぞれが異なる文字でインデックス付けされています。
モジュールでは、次のようなものがあります。
Primary.Sheets("Summary").Range("A5:H40").CopyPicture Appearance:=xlScreen, Format:=xlPicture
上記のように、私の質問は、上記の例のように、これらのワークブック (プライマリ、ABC など) をモジュールで使用できるように定義する方法です。
そして、私のモジュールで使用するとき、私はただ書くことができますか
Primary.Sheets(.......)....
または、 Workbooks("Primary").Sheets(....).... を実行する必要がありますか?
たぶん、プライマリを文字列として薄暗くして、そのようにする必要がありますか?
ありがとう!