小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2023年12月18日【ID:0】

【ExcelVBA】予定表の各日付に1行を追加する

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


以下のように、すでに予定が入力されている予定表(スケジュール表/カレンダー)があります。

1日2行単位の予定表になっているのですが、1行を加えて3行単位に変更する場合、手作業で行うのは大変になります。
このような時に、VBAが使えると便利になります。

こちらでは、VBAを使って既存の予定表に1行追加する方法について解説していきます。

※こちらの記事では、開発したExcelファイルを配布しています。

手順確認

まずは、開発する手順を考えます。
行を挿入したい行が、4行目、6行目、10行目、…の場合、4行目から順番に挿入していけば良いように感じますが、実はそれでは上手くいきません。

その理由は、4行目を挿入した時点で、その次に挿入する予定だった行(6→7行目)が1行下へ移動してしまうためです。

そのため、行を一定間隔で挿入するプログラムを開発する際は、表の先頭からではなく、表の最終行から行うと良いです。

次に、表の中の行を挿入する最終行の確認をします。
こちらの表の場合は、186行目になります。

そのため、実行する手順は以下のようになります。

・186行目から4行目まで、2行ずつ上に移動しながら行を挿入

ちなみに、今回の手順の場合、予定表の真ん中に行を挿入することになります。

下に挿入するようにする場合は、罫線が崩れてしまう可能性があるため、挿入時に罫線を設定するプログラムも実装する必要があります。
※こちらでは、予定表の真ん中に挿入する方法のみを解説していきます。


開発

では、以下の内容をVBAで実現していきます。

・186行目から4行目まで、2行ずつ上に移動しながら行を挿入

まず、[開発]タブの中の[マクロ]を選択します。

次の画面にて、好みの名前を入力し、[作成]を選択します。
こちらでは、「行挿入」という名前を入力しています。

標準モジュールが作成されましたら、以下のように記述します。

Sub 行挿入()
    
    Dim i As Integer
    For i = 186 To 4 Step -2
        Rows(i).Insert
    Next i
    
End Sub

・Dimでは数値を格納する用の入れ物「i」を用意しています。(変数の用意)
・For ~ Next間で「i」の値を変えながら繰り返し実行しています。
・For ~ Next間の「i」は、186から4まで、-2ずつ変化させています。
・Rows(i).Insert で「i」行目に行を挿入しています。

記述できましたら、実行ボタンを押すことで、瞬時に予定表の各日程に1行挿入されます。

ExcelVBAレベル確認

VBAは理屈が分かってくると、そこまで難しいものではないので、まだVBAを触ったことがない方は挑戦してみることをオススメします。

▼サンプルファイル▼


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

5986330

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】行(列)挿入時に上(左側)の書式が反映される問題

【Excel】データベースとなる表を作成するときのポイント

【Excel】複数のセルを異なる区切り文字で文字結合

【Excel】トップ3を抽出する方法

【Excel】数式の法則性から間違いを見つける

【Excel】テーブルのスライサー

【Excel】ピボットテーブルの意外と知られていない小技3選

【Excel】各シートのタスク件数を求める

【Excel】表の一番右側のデータを自動抽出

【Excel】セルに分数を入力する

【Word】特定の文字を改行に置換する

【Excel】特定の文字を基準に列を分割

【Excel】指定した値以外のデータを瞬時に削除

【Excel】数式の参照元(先)のセルを瞬時に選択

【Excel】グラフにデータを瞬時に追加(離れている範囲でもOK)

【Excel】必要な範囲以外を非表示にする

【Excel】存在しない矢印線の作成方法

【Excel】更新箇所を自動で色付け

【Excel】FILTER関数で必要な項目のみを抽出

【Excel】行数や列数が異なる複数のマトリックス表を集計

【ExcelVBA】誤操作防止!実行ボタンを押したときに確認画面を表示する

【Excel】同じ名前のファイルを同時に開く方法

【Excel】条件付き書式でシートの比較

【Excel】表のデータ行や項目の位置を移動する

【Excel】選択したセルと同じ値のセルを自動色付け





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ