氏名の後ろに様を付ける作業はVBAを使うとワンクリックでできます。
その方法を見ていきましょう!
手順① プログラムを貼り付ける画面を表示
まずはこちらの記事の手順を実行して、プログラムを貼り付ける画面を表示します。
手順② プログラムのコピー
次にこちらのプログラムをコピーしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub addSama() ' 最終行を取得する lastRow = Cells(Rows.Count, 1).End(xlUp).Row ' 1行目から最終行まで繰り返し For i = 1 To lastRow ' 文字列の最後に「 様」を付ける Cells(i, 1) = Cells(i, 1) & " 様" Next End Sub |
解説
ではひとつひとつ解説していきます。
‘ 最終行を取得する
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
まずはデータが入っている最終行を取得しています。
なぜ最終行を取得するの必要があるのでしょうか?
それは、「様」をつけるデータは何行目まであるのかを知る必要があるからです。
最終行がわからないとプログラムを何行目まで実行していいかわからず、プログラムが作成できない のです。
最終行を取得する方法はこちらで詳しくご紹介していますので、ご覧ください。
‘ 1行目から最終行まで繰り返し
For i = 1 To lastRow
‘ ここに処理を書きます
Next
For文を使用して i の値を 1行目から 最終行まで 1 ずつ増やしていきます。
これにより各セル1つ1つに対して文字を追加できるのです。
‘ 文字列の最後に「 様」を付ける
Cells(i, 1) = Cells(i, 1) & “ 様”
これは具体的にご説明します。
まず、次のようなデータがあるとします。
i は 1~6 まで 1ずつ増えていきますので、最初は i に 1 が入ります。
ですので最初は次のように表せます。
Cells(1, 1) = Cells(1, 1) & “ 様”
Cells()とはセルの位置を、行番号と列番号で指定するものです。
Cells(行番号, 列番号)
ですので Cells(1, 1) とは セルA1 を表しています。
そして = は 左の式 に 右の式 に入れるという意味があります。
つまり、Cells(1, 1) に Cells(1, 1)の値に “ 様” を追加した文字列を入れるということになります。
先ほどの具体的なデータで処理の流れを追ってみてみましょう。
- 右の式①Cells(1, 1) より 田中 太郎という値を取得
- 右の式②田中 太郎に “ 様” をつけて 田中 太郎 様 にする
- 左の式=右の式Cells(1, 1) に 田中 太郎 様 を入れる
これにより Cells(1, 1) には 田中 太郎 様 という値に置き換わるのです。
これが For ~ Next のループで繰り返されます。
For ~ Next のループの処理は次のイメージです。
For と Next で挟まれている部分の処理が lastRow(最終行)までループされるのです。
実行結果
では実行してみましょう。
氏名の後ろに様をつけることができました!!
さいごに
いかがだったでしょうか。
今回は氏名の後ろに「様」を付けるプログラムをご紹介しました。
こういったテクニックを理解すると、他の業務を自動化したい場合にプログラムを少し変更して対応できるかもしれません。
ご活用していただけましたら嬉しいです。
今後も時短テクニックをご紹介していきますので、よろしくお願いいたします。
コメント