エクセルVBAマクロ作成依頼(少しできる人なら簡単)



マクロを動かすと、指定の列の先頭に特定の文字列をいれつづけ、
空白行になったときに、止まるマクロをお願いします。

たとえば、指定列がAだとして、
A1が見出し
A2 さかな
A3 りんご
A4 空白

ならば、入れる言葉が【格安】だったら、
A2 【格安】さかな
A3 【格安】りんご

でとまるということです。見出し行は操作しません。


なお、最後尾に入れる場合も何か数字を変えただけですむように組んでくださいませ。特定の文字列も変えられるように、わかりやすくしていただけると幸いです。


よろしくお願いいたします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2016/05/12 12:41:08
  • 終了:2016/05/12 17:53:58

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4412ベストアンサー獲得回数18032016/05/12 14:41:35

ポイント100pt

こんな感じで。

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 は、三つのパラメータを取ります。

  1. 文字列を挿入する列
  2. 挿入する語句
  3. INSERT_HEAD : 頭に語句を挿入 / APPEND_TAIL : 末尾に語句を挿入
id:oshietekudasai19

迅速なご対応誠にありがとうございます!完璧でした!!感謝します。

2016/05/12 17:53:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません