2026-02-01から1ヶ月間の記事一覧
Excelマクロが遅い。行数が増えると固まる。1万行を超えたあたりで「応答なし」……。 もしこんな経験があるなら、その原因はほぼ間違いなく セルを1つずつ触っていること です。 そして、その解決策が 「配列 + Dictionary」 の組み合わせ。 これはVBA高速化…
Excelマクロが遅い。行数が増えると一気に重くなる。For文を回すたびにイライラする…。 そんな悩みを一気に解決してくれるのがDictionary(ディクショナリ) です。 実務VBAでは 「重複チェック」 「件数カウント」 「高速検索」この3つでほぼ必須の存在です…
「毎月送られてくるExcelを1つにまとめたい」「フォルダ内のブックを全部集計したい」 これは VBAの定番ニーズの1つ です。 フォルダ内のExcelをすべて統合するためのマクロ例 例として、「C:\Data\」のフォルダ内に複数ブックを入れておき各ブックの1枚…
数千〜数万行のデータ。「標準の重複削除が遅い」「条件付きで消したい」そんな悩み、ありませんか? ここでは VBAで高速に重複を削除する方法 を紹介します。 方法①:RemoveDuplicates(最速&簡単) Sub RemoveDuplicateFast() With Worksheets("Sheet1")…
実務で超頻出の Format()。数値、日付、時刻などのデータを指定した書式(形式)の文字列に変換する標準関数で、主にYYYY/MM/DD(日付)、#,##0(数値の桁区切り)、HH:MM(時刻)といった形式で整形する際に使われ、結果はString型で返されます。=Format(式…
Excelマクロ(VBA)で日付を扱っていると、こんなことをしたくなる場面はありませんか? 今日から締切日まで あと何日? 入社日から 何か月経過した? 生年月日から 年齢を計算したい 月をまたぐとき、日数がズレて困る… そんなときに活躍するのがDateDiff()…
日付処理は、Excelマクロで最も検索されるジャンルの1つです。 その中でも超定番なのが DateAdd()。 DateAdd()とは? 書式 DateAdd(間隔, 数値, 日付) 間隔の指定例 指定 意味 "d" 日 "m" 月 "yyyy" 年 "h" 時 "n" 分 基本例:○日後を求める Debug.Print D…
〜Excel特有の“罠”を知らないと事故ります〜 「この値、日付かどうか判定したい」そんなときに使うのが IsDate()。 IsDate(値) 一見とても便利ですが、Excel VBAでは“思わぬTrue”が返ることがあるため注意が必要です。 IsDate()の基本 Debug.Print IsDate("…
VBAで文字列を扱っていると、「逆から読めたら楽なのに…」と思う場面、意外とあります。 そんなときに使えるのがStrReverse() 関数です。 名前の通り、文字列を丸ごと反転してくれるシンプルな関数ですが、使いどころを知ると「地味に便利」な存在になります…