もう手作業は卒業!日付の変わり目に「一行挿入」を自動化するコード

【業務効率化】VBA
スポンサーリンク

  • 数百行あるデータに、日付が変わるたびに手動で右クリック→挿入を繰り返している
  • 単調な作業で集中力が切れ、挿入する場所を間違えてしまう
  • 「もっとパパッと終わらせて別の仕事がしたい」というモヤモヤを抱えている

こんな悩みはありませんか?

もっと素早く終わらせて、別の重要な仕事に取りかかりたい」というお悩みをお持ちの方も多いはずです。

今回はこのような悩みを、VBAを使って一瞬で解決してみましょう。

【業務効率化】VBAの記事を見る 

日付が変わったら自動で行を挿入するVBAコード

初心者の方でも、以下のコードをコピーして貼り付けるだけで使えます。

※A列に日付データが入力されている状態を想定しています。

Sub InsertRowAtDateChange()
    Dim lastRow As Long
    Dim i As Long
   
    ' 1. データが入っている最後の行を見つけます
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
   
    ' 2. 下の行から順番にチェックしていきます
    For i = lastRow To 3 Step -1
        ' 3. 今の行と、一つ上の行の日付を比べます
        If Cells(i, 1).Value <> Cells(i - 1, 1).Value Then
            ' 4. 日付が違っていたら、その間に行を挿入します
            Rows(i).Insert Shift:=xlDown
        End If
    Next i
   
    MsgBox "作業が完了しました!"
End Sub

使い方はたったの3ステップ

Excelで Alt + F11 を押して、エディタを開きます。

  1. 「挿入」メニューから「標準モジュール」を選び、上のコードを貼り付けます。
  2. F5 キーを押して実行!
  3. これだけの操作で、日付の境目に自動で空白行が挿入されます。

なぜ「下から上へ」処理を行うのか?

コード内にある「Step -1」は、データを「下から上へ」順番に処理することを意味しています。仮に上から行を挿入してしまうと、未処理の行番号がズレてしまい、正しい位置に挿入できなくなるためです。

このようなちょっとした仕組みを理解すると、業務自動化がより身近で楽しいものになります。最初は難しく感じられるかもしれませんが、一度自動化できれば毎日の業務を強力にサポートしてくれますので、ぜひ活用してみてください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました