- 締切済み
行方不明のマクロを探して、個人用マクロブックに改めて保存する方法(EX
行方不明のマクロを探して、個人用マクロブックに改めて保存する方法(EXCEL) 「EXCEL2003」 今までマクロの保存先を意識せず適当に保存してきました。 この結果、以前作成したマクロを編集し応用したいと考えていたのに どの.xlsファイルに保存したかわからなくなり、困っています。 そこで、整理整頓を兼ねてタイトルにあるように 過去に作成した保存先不明のマクロを効率よく探し出して、 個人用マクロブックに改めて保存したいと考えております。 VBEを起動し、今までに作成&保存したマクロをすべて呼び出す方法や、 拡張子で検索して、個人用マクロブックのフォルダーに保存する方法など 何かよい方法がありましたら、お教えください。 また、今後効率よくマクロを利用したいので、 何かアドバイスや注意点等があれば、ご意見いただければと思います。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
この程度の課題をVBAで扱うとなると、相当マニアックになって、こんなところへ質問して、安直にコードを手に入れることではなく、自分で勉強するすべきようなことでしょう。 日本語の市販本では解説は無い(見つからない)と思うから MSのヘルプやMsdnに当たる 英語のVBAの解説書(で質問点の記述がある本)を探す WEBサイトを探す しかないだろう。 当面はWEB頼りかな。 ーー 私も勉強不足であり、WEBを頼りにしたものだが、下記が参考になれば。 即座に確認できるので入れているが、下記コードのMsgboxの表示が、しつこくなったらMsgboxは削除してください。 Sub test01() Dim vbo Open "moduleClist.txt" For Output As #1 For Each vbo In ActiveWorkbook.VBProject.VBComponents If (vbo.Type = 1 Or vbo.Type = 2) And vbo.Name <> "VBE" Then Set mymodule = ThisWorkbook.VBProject.VBComponents.Item(vbo.Name).CodeModule MsgBox vbo.Name MsgBox mymodule.CountOfLines l = mymodule.CountOfLines code = mymodule.Lines(1, l) MsgBox code Print #1, code End If Next Close #1 End Sub ーー 実行後メモ帳でmoduleClist.txtを開くとコードが出てきた。 ーー WEBでは田中先生の http://officetanaka.net/excel/vba/vbe/05.htm などの解説が参考になろう。 Googleで関係コードを照会しまくること。何か得られる。 ーー あと、その他の課題は シートモジュールのコードをどう捉えるか。 上記は1ブック対象のコードだが、 あるフォルダ内のエクセルブックを探し、それと1ブック対象の上記コードを使って、各ブックで繰り返すコードはどうなるか。 を勉強する。WEBに多数のコード実例がある。 FSOのフォルダの全ファイルを捕らえる方法をWEBで調べると良いと思う。 多数のフォルダのブックにこーどが分散している場合などは実効性は良く判らないが。 またコード(内容、ロジックなど)が汎用性があるかどうかどうかは、人間が読んで判断するしかないが時間がかかる。 参考までに。