作業中の Excel プロジェクトでいくつかのグローバル変数を割り当てるために、別のモジュールにサブルーチンを作成しました。シートを変数に割り当てていますが、9 つのシート/変数がありますが、ランタイム 13 では 1 つのエラーしかありません。ローカル ウィンドウを確認すると、割り当てられたタイプが「Variant/Object/Sheet#」ではなく「Worksheets」であることがわかります。残りはそうします。ここにいくつかのコードがあります:
Public Cover, Notes, HWIO, IntChn, FbChn, _
DigFb, AnaFb, RemAlm, OGoL As Worksheets
Public Sub AssignVars()
Set Cover = Sheets("1. Cover")
Set Notes = Sheets("2. Notes")
Set HWIO = Sheets("3. HW Input-Output")
Set IntChn = Sheets("4. Internal Channels")
Set FbChn = Sheets("5. Funct Block Channels")
Set DigFb = Sheets("6. Digital Funct Blocks")
Set AnaFb = Sheets("7. Analog Funct Blocks")
Set OGoL = Sheets("OGOnline")
Set RemAlm = Sheets("8. Remote Alarming")
End Sub
エラーが発生するSet OGoL = Sheets("OGOnline")
Locals を見ると、OGoL を除くすべての変数にシート オブジェクトが割り当てられていることがわかります。OGoLには「ワークシート」があります。じっと見つめているかもしれませんが、タイプの不一致が発生する理由がわかりません。シートは名前どおりに存在します。