2017-07-14 13 views
1

これは私の最初の投稿であり、VBAでのプログラミングは初めてです。私は、複数のタブを削除するためにマクロを作成しようとしているところで、大きなExcelファイルを持っています。私は完全に削除しますかが表示していますと、それは動作します以下のように私のコードは次のとおりです。ワークシートで転送されたVBAランタイムエラー '9'(下付き文字が範囲外です)

Option Explicit 

Sub delSheet() 

Worksheets("sheet2").Delete 

End Sub 

をしかし、私は別のファイルから(タブ名は「sheet92' です)タブで転送するとき、私使用して、このエラーを取得します同じコード

私は.xlsbファイルを開くと、既存のファイルにコピーするには、エラーメッセージ対新しいシートを作成中に作成されたタブでのSheet2を削除するためのコードを引き起こしている何
Option Explicit 

Sub delSheet() 

Worksheets("sheet92").Delete 

End Sub 

ファイルですか?ありがとうございます。

答えて

1

質問はありませんワークブックのみWorksheets("sheet92")が動作しません与えて、まだアクティブでない場合は

Workbooks("file.xlsx").Worksheets("sheet92").Delete 

:非常に明確な、しかし、あなたは、おそらくこのように、正しいワークブックを参照する必要があります。

+0

ブックを参照するようにコードを変更しました。ワークブック名​​はWW OCOGS Jun 17 Pass 2 Test Bookであり、入力した新しいコードは「Workbooks( "WW OCOGS Jun 17 Pass 2 Test Book .xlsm")、ワークシート( "sheet92")。Delete'です。しかし、私は今、コンパイルエラーSubまたは関数が定義されていないというエラーメッセージが表示されます。また、テキストを入力するときに、ワークブックコードを入力した後、アクティブシートやワークシートの切り替えなどの自動入力オプションが表示されますが、ワークシートのリンクを入力した後、VBAはコードの次の項目を自動選択するオプションを与えません文字列。 –

+0

@JSバッハ私のために働く。あなたは "s"か何かを忘れましたか?私はワークシートの後にもオートセレクトはありませんが、これは問題ではありません。 「削除」を「有効にする」に置き換えた場合は機能しますか? – cub

+0

@JSBach参考のために、ワークシートクラスのすべてのメソッドについて説明しています(こちらはMSDN)(https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-object-excel)。クラスはワークシートですが、特定のものを選択するには 'Worksheets(" name ")'と "s"を付けてください。ワークシートコレクション(**アクティブ**ワークブックを参照)は、[ここ](https://msdn.microsoft.com/VBA/Excel-VBA/articles/worksheets-object-excel)に記載されています。 「ワークブック」コレクション(すべての開いているワークブックの中の)はここに記述されています(https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbooks-object-excel) – cub

0

私は最初のprogroammingバグを解決しました!私は間違った名前を使用していた、私はフィールド(名前)対タブの実際の名前を使用していた、私はここで画面キャプチャを取った! http://imgur.com/a/bPNkg!一度私は名前をSheet1を使用して削除することができました。あなたのご協力ありがとうございます@cub

関連する問題