マクロを動かすと、指定の列の先頭に特定の文字列をいれつづけ、
空白行になったときに、止まるマクロをお願いします。
たとえば、指定列がAだとして、
A1が見出し
A2 さかな
A3 りんご
A4 空白
ならば、入れる言葉が【格安】だったら、
A2 【格安】さかな
A3 【格安】りんご
でとまるということです。見出し行は操作しません。
なお、最後尾に入れる場合も何か数字を変えただけですむように組んでくださいませ。特定の文字列も変えられるように、わかりやすくしていただけると幸いです。
よろしくお願いいたします。
こんな感じで。
Const INSERT_HEAD = 0 Const APPEND_TAIL = 1 Sub append_word_sub(target_col, insert_word, mode) last_row = Range(target_col & Rows.Count).End(xlUp).Row For r = 2 To last_row Set cell = Range(target_col & r) If Not IsEmpty(cell) And Not cell.Value = "" Then If mode = INSERT_HEAD Then cell.Value = insert_word & cell.Value Else cell.Value = cell.Value & insert_word End If Else Exit For End If DoEvents Next End Sub Sub append_word() Call append_word_sub("A", "【格安】", INSERT_HEAD) End Sub
サブルーチン append_word を呼び出してください。
表示されているシートで、A列の 2行目から空白のセルが出てくる行まで "【格安】" の文字を頭に挿入します。
サブルーチン append_word は、サブルーチン append_word_sub を呼び出しているだけです。
append_word_sub は、三つのパラメータを取ります。