VBA・Office

VBA・Office

【EXCEL VBA】ワークシート(自分自身)を、新規ワークブックにコピーするサンプル

Excel VBAで現在アクティブなワークシート(自分自身)を新規ワークブックにコピーし、名前を付けて保存するサンプルコードと解説です。作業中のシートだけを切り出して別ファイルとして保存したい場合に便利なマクロです。前提条件 Excelがイ...
VBA・Office

【VBA】Excelでセル内の一部分だけ書式ごと置換

最近知ったが、セル内に書式の異なる文字があった場合、置換をすると、設定した書式が無くなる(一律、先頭文字の書式になる)。(これは有名??)調べると、対策用のマクロをいろいろな人が作っているが、興味があったので、自分も使いやすいようにサンプル...
VBA・Office

【Excel VBA 】簡単なアダプター(adapter(委譲))もどき

VBAで委譲(コンポジション)を利用したシンプルなデザインパターンのAdapter(アダプター)パターンのサンプルです。CMyData.cls(データクラス)Public Name As StringPublic Sub DebugPrin...
VBA・Office

【Excel VBA 】簡単なイテレータ(iterator)もどき

VBAでデザインパターンの「イテレータ(Iterator)パターン」をガチガチに実装しようとすると手間がかかりますが、VBA.Collection オブジェクトを活用することで、シンプルな記述で For Each による反復走査を行える仕組...
VBA・Office

【Excel VBA】セル単位の目次作成用の情報収集マクロ

台帳の目次シート(セル項目とその通しページ数をまとめたもの)をメンテナンス用に作成したExcel VBAマクロです。改ページを含んだシートで、各シート内のB列・C列に必要な項目(大項目、中項目)が点在している場合でも、自動的に通しページを取...
VBA・Office

【VBA】Errオブジェクトを利用した実行時エラー時の簡単なコールスタック

VBAには他言語のような Try...Catch...Finally 構文や標準のコールスタック取得機能が用意されていないため、エラー発生時にどの経路で呼び出されたかを把握するには少し工夫が必要です。独自のエラー処理用クラスを組むほどではな...
VBA・Office

【VBA】BinaryCopy バイナリファイルのコピー処理

VBAでバイナリファイルを読み書き・コピーするサンプルコードです。単にファイルをコピーしたい場合はVBA標準の FileCopy ステートメントを使用するのが最も簡単で高速ですが、バイナリデータとして中身を処理しながらコピーしたい場合は O...
VBA・Office

【VBA】Atermシリーズの簡単ログ取得マクロ

我が家の無線LANルーター(Aterm WR8300N)が頻繁にリンクダウンを起こすようになり、状況を把握するために作成したVBAマクロです。結論から言うと、ログの内容から明確な原因を特定することは困難でしたが、VBAでHTTPデータを扱う...
VBA・Office

【Excel VBA】定例作業スケジュール作成ツール改良

ふだん仕事の中で、作業日程をもう少し細かく設定したくなったので、以前作成したツールを再改造。■改造点・休日の色を、外部から自由に変えられるようにした。・週/月/年を選んでカレンダーがつくれるようにした。なお、エラーハンドリングは実装なし。イ...
VBA・Office

【Excel VBA】EnumWindows()によるウィンドウの列挙(コールバック関数とフォーム作成を試す)

定例作業スケジュール作成ツールで、Excel VBAにある程度できる感触を得たので今回はGUI(フォーム)とWindowsAPIのコールバック関数を試す。参考にしたサイトはこちらちょっと古い内容でソースがそのままでは使えなかったけど、要点が...