none
EXCELで、指定された列のすべての範囲のセルの先頭に予め”vbnewline”を入れ込むためには。 RRS feed

  • 質問

  • どうぞよろしくお願いいたします。

    EXCELのVBAを利用して、

    例えば

    列Bの1~20のすべてのセルに入っている文の先頭に、

    予め”vbNewLine”を入れ込んであるようなコードを作ることは出来るものでしょうか?

    dim rng as range

    set rng =range("B1:B20")

    rng.value= vbNewLine & "私は柴犬が好きです!"

    B列セル内の文が”私は柴犬が好きです!”と、全て同じであるなら、

    上記したコードで文の先頭に改行をつけられることは確認が出来たのですが、

    Bの列のセル内に

    『私は柴犬が好きです!』

    『私は三毛猫が好きです!』

    というように、各セルごとにまったく違う文が入っている場合でも、

    きっと、もっと端的な記入の仕方があると思うのですが、

    今の自分のスキルですと、

    range("B1").value = "" Chr(10)  & "セルごとに入っている文”

    を各セルごとに入力していく方法しか考え付きませんでした・・・・・・。

    もし皆さまのお時間を頂けるようでしたら、ぜひお答えいただければ大変ありがたいです。

    どうぞよろしくお願いいたします!

    2019年5月3日 13:40

回答

すべての返信

  • こういうことでしょうか?

    Sub test()
        Dim rng As Range
    
        For Each rng In Range("B1:B20")
            rng.Value = vbNewLine & rng.Value
        Next
    End Sub
    

    • 回答としてマーク Tearwell 2019年5月4日 2:17
    2019年5月3日 17:26
  • 早速のご返信、恐縮です。

    自分でも打ってみたところ、思ったように行の前に改行が出来ました。

    こんなにシンプルなコードで出来てしまうのですね。

    本当に勉強になりました。

    ありがとうございました!

    2019年5月4日 2:17