エクセルマクロ(EXCEL VBA) その6 繰り返し作業の練習(For Next)
For Nextの練習
前回、For Nextを使って名前に「様」を付けるマクロを作りました。
For Nextでの繰り返し作業は、とても重要なのでもう少し練習してみましょう。
肩書と名前を結合するマクロ
演劇のスタッフには、作、演出、音楽、美術・・・などの肩書が付き物です。
そこで、こういうリストがあったとします。
このリストをCSVでダウンロード
このC2のところに、
【作】織田信長
と入るようにしてみましょう。
前回の記事を参考にマクロを作ってみてください。
まずは、A2とB2を結合して、C2に入るようにしてみましょう。
C2は、CellsでいうとCells(2, 3)でしたよね。
A2はCells(2, 1)で、B2はCells(2, 2)なので、
Cells(2, 3) = Cells(2, 1) + Cells(2, 2)
と書けば良さそうです。
これを実行すると、
うまくいきました。
C2に、作織田信長 と入れることができました!
でも、本当に入れたいのは【作】織田信長 でしたので、このマクロにさらに追記して行きましょう。
様を追加したときは、”様” というふうにダブルクォーテーションでくくって、「+」でつなげれば良かったわけなので、
Cells(2, 3) = "【" + Cells(2, 1) + "】" + Cells(2, 2)
こうしてみましょう。
これを実行すると、
うまく行きました!
あとは、9行目まで繰り返せばできそうですね。
For Nextを使って、繰り返し作業の指示を出してみてください。
僕はこう書きました。
無事に、肩書に【】を付けて、氏名と結合されたものを、隣の列に書き入れることができました。
これで、たとえスタッフが100人いても同じ方法で肩書をくっつけることができます。
次回は、For Nextと同じくらいとても重要な If による条件分岐について書きます。
今回の最終的なコード
Sub add_katagaki()
For i = 2 To 9
Cells(i, 3) = "【" + Cells(i, 1) + "】" + Cells(i, 2)
Next
End Sub
宿題-6
同じ肩書のスタッフが2人以上いる場合は、どうしたら良いでしょう。
こうなるようにしてみてください。
いろいろな解決方法が考えられると思うので、是非取り組んでみてください。
エクセルマクロ(EXCEL VBA) その7 Ifで条件分岐(If)
(文:森脇孝/エントレ)