私は現在、複数のワークシートで5つのワークブック(おそらく時間の経過とともに増加する)をとり、それらを1つのワークブックにまとめたかなり大きなマクロを作成しています。グローバル・ワークブックのリファレンス!
今、私は、ワークブックへのグローバル参照を宣言することが必要な、さまざまなタスクをすべて実行する最も簡単な方法を考えました。しかし、それは動作していないようです。
だから、私はとしてそれを宣言した:
Public E1_workbook As Workbook
とマクロがキックオフされたときに、それをインスタンス化します。
Private Sub Begin()
...
Set E1_workbook = Workbooks.Open(Filename:="Workbook name")
...
'Do other stuff
...
Whatever
...
'Close workbooks and free up resources...
...
End Sub
そして、さらに下の別のサブルーチンでは、私はワークブックを使用しよう:
private sub Whatever()
E1_workbook.Worksheets("worksheet name").Select
しかし、これはさえ
を「ワークシートクラスのselectメソッドが失敗した」と述べて失敗します私は上記の 'Whatever()
'サブの正確な行を 'Begin()
'サブにコピーすることができますが、それはうまく動作します。
なぜですか?
TIA
(ワークブックおよびワークシートの名前が無実を保護するために変更されている)
です。返信する時間を取ってくれてありがとうございます。私はちょうど私がばかだと分かっています。ワークシートを参照しようとする前にワークブックを有効にしておく必要があります。もっとコーヒーがあると思う。あなたの時間を無駄にして申し訳ありません! – JustAPleb
オハイオ州、コレクションについての良いアイデア - 私はそれを使用します。 Ta :-D – JustAPleb