29日目 データの下に空白行を1行ずつ挿入【30日間1日1本マクロ生活】




30日間1日1本マクロ生活、29日目です。

マクロを書く準備は、0日目に記事を書きました。

データの下に空白行を挿入

データを加工しているとき、どうしてもすべての行の下に空白行を入れたくなるときってありませんか。

色々と挿入しなきゃならなくなって、全ての行の下に空白行を入れる。

手作業でやると結構面倒な作業です。

連番 氏名 得点
1 大木菜々実 81
2 久米美穂 83
3 高嶋友吉 85
4 横田愛香 35
5 鳥居昌 73
6 菅谷奈々子 97
7 今西羽菜 79
8 野村龍也 14
9 沢井文康 8
10 細田創 9
11 柳川紗羽 71
12 岩井正広 77
13 浅見末治 97
14 大平音々 3
15 高田歌音 79
16 須藤真治 77
17 堀江喜代志 2
18 堀井貞夫 2
19 尾形安奈 28
20 影山夕菜 27
21 田尻麗香 47
22 武藤珠希 38
23 末永武信 72
24 棚橋未来 66
25 石崎奈月 14
26 相田永二 79
27 森脇昌子 81
28 布施咲子 18
29 上杉颯太 77
30 小寺正利 25
31 玉城剣一 30
32 村上広司 33
33 熊谷鈴 54
34 沢井千紗 30
35 大城莉歩 85
36 柳田千紗 6
37 青山辰二 68
38 萩原時男 72
39 平山昭吉 10
40 天野亜美 50
41 沖与四郎 6
42 吉川賢二 84
43 猪俣常男 54
44 有馬優斗 88
45 石田紗矢 32
46 長島勇吉 73
47 尾崎里穂 56
48 辻本健志 48
49 土橋若葉 74
50 勝又瞳 59

昨日と同じデータを使ってやってみます。

とりあえずコードを


Sub データの下に空白行の挿入()
    y = 3
    Do While Cells(y, 1) <> ""
    
        Rows(y).Insert
        y = y + 2
    
    Loop
    
End Sub

単純ですよ。

3行目からスタートです。

「Rows(y).Insert」はy行目に行を挿入するという命令です。

空白行が入り、全ての行が下に一段シフトします。

つまり、この時点で次の行が下に下がりましたので、y座標は2つ増やすことになります。

この繰り返しです。

実行結果

これが

こうなります。

実際には

もしわたしがこの作業をする場面にいたとします。

正直、この作業でマクロは書きません。ワークシートの作業で3~4手でできる作業です。

しかし、マクロを書いても結構シンプル。

今日はワークシートの作業の方は紹介しませんけど、どちらも知恵を絞ればいろんなことができるってことですね。

Excelは便利

悔しいですが、Excelは便利です。

Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。

マクロを書くようになると、Excelからは離れられないですね。

30日間、明日がついに最終日です。頑張ります。