VBA

Excel

Excelのワークシートの最下行と最右列を取得

Excelのマクロでデータがセットされている最も下の行を求める場面はよくあります。ワークシートにA1セルを起点(左上)とする一般的な表がある場合、Cells(Rows.Count, 1).End(xlUp).Rowとすることで取得できます。...
Word

複数のWord文書に対して文字列置換

フォルダを指定し、その中のWord文書に対して、文字列の置換をするマクロです。まず置換前の文字列と置換後の文字列を入力します。その後、フォルダを選択します。実行されるとファイルを開き置換を行い上書き保存します。これを繰り返します。
Excel

「エンジニアが1時間未満で解くべき五つの問題」をVBAで解く

今年、流行った「五つの問題」を今頃、知りました。色々な言語での解答が発表されていますが、おそらく誰もやらないであろう、VBAで挑戦してみました。私がVBAの最大の弱点だと思うのが配列。ところがこの「五つの問題」はどれも配列を使わないと解けま...
Excel

VBAで順列

VBAで配列を与えると全ての順列を返すユーザー定義関数を紹介します。JavaScriptの配列関連メソッドをVBAのユーザー定義関数に | You Look Too Coolで紹介したユーザー定義関数のうち「splice」「push」「co...
Excel

全てのシートの名前を配列で取得するマクロ

開いているExcelブックのすべてのシートの名前を配列で取得するマクロです。これ自体は意味がないですが、他のマクロに組み込んで使えると思います。Excel2013で確認しました。
Word

WordマクロのFindのプロパティ(まとめ)

Wordマクロ(VBA)で文字列の置換をする場合には次のように書きますが、Findのプロパティが色々あって分かりにくいので使いそうなものについて調べてみました。Word2013で確認しました。
Excel

外字の有無をチェックするユーザー定義関数

もう2015年だというのにWindowsで「外字」を使ったデータに遭遇しました。標準で使える文字に置き換える、もしくは文字を画像として作るのが定番となって久しいと思っていたので、驚きました。ともあれ、外字の有無をチェックする必要が生じたので...
Excel

ExcelのテーブルをJSON形式に変換するマクロ

ある目的があって試しに作ってみたところ簡単にできたものの実際には使わなかったマクロを紹介します。ExcelのテーブルをJSON形式に変換するマクロです。
Word

Wordでパスワードなしで上書き保存するマクロ

以前、パスワードが設定されているExcelを開いた後、パスワードなしで上書き保存するマクロを紹介しましたが、今回はそのWord版です。Excel2013で確認しました。
Excel

VBAでクイックソート(改良版)

前にVBAでクイックソートをする方法を紹介しましたが、配列の扱いがよく分からず、CSVに変換して行う方法でした。今回、配列の処理方法が分かったので、コードを書き直してみました。処理が劇的に速くなりました。バブルソートなど他のソートとは比較に...