• ベストアンサー

VBAで複数のオブジェクトを同時に解放するためには

Excel2003です。 あるExcelブック内にある複数のVBAオブジェクトを同時に解放したいのですが、 どうやってもオブジェクトを一つしか選択することが出来ません。 たくさんあるとかなり手間がかかってしまいます。 まさか、VBAの解放を行うためのプログラムをVBAで書かなければ出来ないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

#1です。 エクセルVBAでは、ここまではあまりやることではないので、自信はないが、くれぐれもコピーファイルで確かめた上でやってください。 少数の例でテスト、 コピーファイルで確かめる 本番 の順で慎重に。 Module1に下記を入れます。 ーー Module1と言う名以外のModuleを削除します。 MsgBox VBC.Nameの行は確認後削除してもよい。 ーーー Sub test01() Dim VBC With ActiveWorkbook.VBProject For Each VBC In .VBComponents If VBC.Type = 1 Then If VBC.Name <> "Module1" Then MsgBox VBC.Name .VBComponents.Remove VBC End If End If Next VBC End With End Sub ーー VBComponents.Typeは http://www.tech-archive.net/Archive/German/microsoft.public.de.excel/2009-07/msg00156.html vbCompTypeModul = 1 'normales Modulのようです。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

小生の無知の恥をさらすのかもしれないが、あえて聞く。 >VBAの解放を行うためのプログラムをVBAで書かなければ出来ない・・ この質問はエクセルVBAの質問では無いのか? 操作で複数・多数のオブジェクトの解放をまとめてできないかと言うことか。 きっかけ・タイミングは?実行中は無いと思うが、ブックを閉じたときなどか? ーー VBAオブジェクト 具体的にはどういうオブジェクトか。OLEオブジェクト・コントロールや、図形・写真などが多数フォームやシートに貼り付けてあるということか。 ーー >どうやってもオブジェクトを一つしか選択することが出来ません とは具体的にどういうことですか。 ーー 貼り付けた図形の抹消のことなどではないのか。 (オブジェクト).DrawingObjects.Deleteのようなことか。 === 小生のレベルをはるか越えた上のレベルの質問かどうか判らない。 質問の書きぶりからそうではないようにもみえるが、 質問の補足を希望する。

DUOUIS
質問者

お礼

すいません、オブジェクトではなく標準モジュールのことです。 複数の標準モジュールを一度に消す方法を教えて下さい。

関連するQ&A

  • 複数のオブジェクトを同時選択

    word 2013 で、複数のオブジェクトを同時に選択するショートカットはありますでしょうか? ctrl ,shift ,space では実行できませんでした。 ネットで調べてもわからなかったので、教えてください。 張り付けてあるオブジェクトが40個あって、全部消したいのですが、個別に選択しなくては ならないので大変なのです。

  • エクセルのブックはVBAでオブジェクトと言うことは

    VBAでアクセスではフォームの事をオブジェクトと言いますが エクセルのブックはVBAでオブジェクトと言うことはありますか?

  • Excel VBAでブックを閉じる時、複数のブックが開いていると・・・。

    WinXP+Excel2002なのですが、 ExcelのVBAでつくったアプリの中に、 Application.Quit ThisWorkbook.Close False と記述し、終了させる部分があります。 複数のブックが開いているときにこのプログラムを実行すると、 他のブックまで閉じようとするのですが、 これは何ともならないのでしょうか。 複数のブックを開いた状態でVBEを開くと、 どのブックをアクティブにしておいても、他のブックの モジュールが出てきますよね。これに関係あるのでしょうか。 VBAはそのブックだけに記述することができる・・・のでしょうか? 調べてみたのですがよくわかりませんでした。 基本的なことで恐縮ですが、こんな私にわかるよう 教えてくださる方いらしたらお願いいたします。

  • EXCEL VBAでオブジェクトを削除するには?

    EXCEL2000を使用しています。 HPからコピーした表を利用して、VBAで加工したいと思っています。 HPからコピーした場合、不要なオブジェクトがある為、まずこれを消したいのです。 EXCELでの一般的な方法としては、オブジェクトの選択をしてから、範囲指定をし、削除すれば処理できます。VBAではオブジェクトの名前を指定しなければならないと思うのですが、HP上の、オブジェクトの名前は頻繁に変わる為、名前を指定するという方法では、使いづらいのです。 何か良い方法はないでしょうか?

  • Excelオブジェクト

    エクセルオブジェクトに関して質問です。 VBより起動したExcelをExcelの"×"ボタンで閉じると、タスクにExcelオブジェクトが残ってしまいます。Excelの"×"ボタンを使用し、タスクからも完全にExcelオブジェクト解放する方法はありますか? よろしくお願いします。

  • EXCEL2007のオブジェクトの選択について

    EXCEL2007でオートシェイプなど複数のオブジェクトを選択するとき、 2003までは、矢印アイコンでドラッグして破線で囲み、 複数のオブジェクトを同時に選択できましたが、 2007になって、同様の操作をしようと試みたのですがわかりませんでした。 単一オブジェクトを選択するのはわかりましたが、(オブジェクトの選択と表示コマンド) 複数のやり方が知りたいです。 行や列を削除した時に、一箇所に集中的に集まったオブジェクトを選択するときに、助かるので教えてください。

  • オブジェクトの複数選択について

    excel2003にて、複数のページにあるオブジェクトを削除したいのですが、コンボボックス、チェックボックス、オプションボタンといくつか種類があるなかで、コンボボックスのみ、全て選択して削除ということができますか? 範囲で選択もできるのですが、オブジェクトが混在しているため、 スムーズにいきません。

  • Excel VBAで複数シートをコピーする

    Excel VBAで複数のシートを新たらしいブックにコピーする方法が分かりません。 一応、Selectで全てのシートを選択し コピーする方法は分かるのですが 出来ればSelectなどの画面遷移をプログラム内に含ませたくありません シートは n件存在します。 ご存知の方がおられましたら ぜひ、教えて頂けないでしょうか?

  • エクセルVBAで同名オブジェクトの全削除

    お世話になります。よろしくお願いします。 環境 画面→VB6.0    帳票→EXCEL2000 VB画面からデータをエクセルVBAに渡して、帳票を作成しています。 帳票に同名の四角形オブジェクトを複数個配置しています。 VB画面の指示で、この同名のオブジェクト全てを削除 したいのですが、行き詰ってしまいました。 オブジェクトが存在するかどうかをチェックすることができれば、削除可能だと思うのですが・・・ また、この他にも解決方法等ありましたらご教授下さい。

  • Excelオブジェクトの解放

    VBでExcelを編集しています。 下記コードを実行するとExcelがタスクに残ったままになります。 どうしたら解放されるでしょうか。 (処理は少し省略しています) Dim objExcel as Object Dim objExcelBook as Object Dim objExcelSheet as Object Set objExcel = CreateObject("excel.application") Set objExcelBook = objExcel.Workbooks.Open(パス, 0) Set objExcelSheet = objExcelBook .Sheets(シート名) With objExcelSheet.Range(Cells(1,2),Cells(3,2)).Borders(xlEgeBottom) .LineStyle = xlContinuous End With Set objExcelSheet = Nothing Set objExcelBook = Nothing Set objExcel = Nothing

専門家に質問してみよう