Excelマクロにて文字列連結の方法と改行を含めた連結方法

このQ&Aのポイント
  • Excelのマクロを使用して文字列を連結する際、改行を含めた連結方法が知りたいです。具体的には、セルとセルの中の文字列を改行を付けて連結する方法を教えてください。
  • Worksheets(sheet1).Range('C1').Value = Worksheets(sheet1).Range('A1').Value + Worksheets(sheet1).Range('B1').Valueといったマクロを使用すると、連結した文字列が改行を含まずに表示されます。改行を入れる方法について教えてください。
  • Excelのマクロで文字列を連結する際、改行を含めて連結する方法について教えてください。Worksheets(sheet1).Range('C1').Value = Worksheets(sheet1).Range('A1').Value + Worksheets(sheet1).Range('B1').Valueといった方法だと、改行が反映されないため、改行を入れる方法を知りたいです。
回答を見る
  • ベストアンサー

Excelマクロにて文字列連結

現在Excelのマクロにて文字列の連結を行っているのですが、 繋いだ文字列を改行を付けて連結を行いたいです。 セルとセルの中の文字列を改行を付けて連結するにはどうしたらいいのでしょうか? 例 A1セル「あああ」 B1セル「いいい」 C1セル「あああ       いいい」 Worksheets(sheet1).Range("C1").Value = Worksheets(sheet1).Range("A1").Value + Worksheets(sheet1).Range("B1").Value をすると 「あああいいい」と1行で表示されてしまいます。     ↑ ここに改行を入れるにはどうしたらいいのでしょうか? 以上、宜しくお願いします。

  • WDY
  • お礼率85% (188/219)

質問者が選んだベストアンサー

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 Range("c1").Value = Range("a1").Value & vbCrLf & Range("b1").Value これで、いいのかな??

WDY
質問者

お礼

書き込みありがとうございます。 基本的な質問で申し訳ございません。 ありがとうございます。

関連するQ&A

  • エクセルVBA 文字列複数行・列連続連結

    エクセルVBA 文字列複数行・列連続連結でお教え下さい A列に基本文字(縦順) B列~F列に複数行データー(文字・時間) 文字結合時に改行 例 A2&B2&改行&A3&C2&改行&A4&D2&改行・・・・・ 次のデーター行 A&B3&改行&A3&C3&改行&A4&D3&改行・・・・・ データーの最終行まで連続で このような複数行あるデーターの連続文字列連結をしたいのですが・・・ 文字列連結後は 1.指定セルに貼り付け 2.クリップボードに貼り付け 3.テキストファイルに保存 よろしくお願い致します

  • エクセルセル内の文字の連結マクロ

    例えばエクセルシート内のA列の1~8行目までに文字が入力してあるとします。 そこで、例えばA1のセルからA8のセルを選択したまま(アクティブにしたまま)で、マクロを実行して、A9のセルにA1~A8の文字を連結した文字列を書くということはできますか?

  • Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付け

    Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付ける。 という事をしたいのですが、VBAを始めたばかりなので上手く書くことが出来ません。 例)    A列   B列   101  りんご    102  ぶどう   103  オレンジ   104   桃   105  バナナ      ・      ・      ・ これを別のシートに    A列   B列   101  りんご (2行あける)   102  ぶどう (2行あける)   103  オレンジ (2行あける)    104   桃 (2行あける)    105  バナナ      ・      ・      ・ と表示したいのです。 現在は下記のようなリンクで表示していますが、 件数が少ない時は4件から多い時は800件と幅があります。 出来れば表の一番下(空欄になる部分)まで繰り返し処理をしたいと思っています。 セルの中身が表示されるならリンクでもコピーでも構いません。 現在のマクロ Sub Macro2() Worksheets("Sheet2").Select Range("C11").Value="=Sheet1!A2" Range("C14").Value="=Sheet1!A3" Range("C17").Value="=Sheet1!A4" Range("C20").Value="=Sheet1!A5" Range("C23").Value="=Sheet1!A6" Range("H11").Value="=Sheet1!B!" Range("H14").Value="=Sheet1!B2" Range("H17").Value="=Sheet1!B3" Range("H20").Value="=Sheet1!B4" Range("H23").Value="=Sheet1!B5" End sub 45行分まで書いたところで途方に暮れております。 よろしくお願いいたします。

  • エクセルのマクロを教えてください。

    マクロの初心者です。 特に変数が全く使えず、下記もどのように記載していいのかわからないため教えていただけないでしょうか。 ユーザーフォームのtextbox2に開始番号があります。 textbox3に本数があります。 sheet1のB12セルには開始番号が入ります。 開始番号から本数分+1したものを順番にセルに入っていくようにしたいです。 ただ、入れたいセルが横→左下(開始番号の列)→横→左下(開始番号の列)・・・としたいため、どのように書いていいのかわかりません。 地道に書くのであれば、下記のようになると思うのですが、変数を使って書く場合はどのようになるのか教えていただけないでしょうか。 Worksheets("Sheet1").Range("B12").Value = TextBox2.Value If TextBox3.Value = 2 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 ElseIf TextBox3.Value = 3 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 ElseIf TextBox3.Value = 4 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 ElseIf TextBox3.Value = 5 Then Worksheets("Sheet1").Range("G12").Value = TextBox2.Value * 1 + 1 Worksheets("Sheet1").Range("B13").Value = TextBox2.Value * 1 + 2 Worksheets("Sheet1").Range("G13").Value = TextBox2.Value * 1 + 3 Worksheets("Sheet1").Range("B14").Value = TextBox2.Value * 1 + 4 ・ ・ ・ End If

  • Excel マクロ VBA セル内で改行された文字列の分割

    はじめまして。 ExcelのVBA初心者で、ちょっと困っています。 (例) (1) セルA1に以下のような改行された文字列が入力されています。 【セルA1】 a aa aaa b bb bbb (2) セルA1内の文字列を3行毎に分割し、セルA2以降に表示させたい。 【セルA2】 a aa aaa 【セルA3】 b bb bbb ※ 今回の例ではセルA1に6行しかありませんが、実際に行数は決まっていません。 そこで以下のようなVBAを見よう見まねで作り、1行毎の分割はうまくいったのですが、『3行毎に分割』ができません。 Sub 分割() Dim A, B, C A = Split(Range("A1"), Chr(10)) B = 0 For Each C In A B = B + 1 Range("A2").Offset(B - 1, 0).Value = C Next End Sub ご教授いただけると助かります。 よろしくお願い致します。

  • エクセルマクロでの計算について(2007)

    エクセルマクロ初心者です。 試行錯誤しながら作成しています。 セルB1には直接計算式を入れており(=(480+(A1)*10)/480*I1) その結果次第(70以下)でセルC1に計算結果(=(75-B1)*.48)をいれて 70より大きければセルC1に"-"を入れたいのですが上手く計算してくれません。 この処理を約65個のセルにしようと思っています。(セルの列はバラバラです) どうすればよいかご教示ください。 ちなみに現在作成している文は Private Sub 計算_Click() Worksheets("sheet2").Select If Range("B1").Value <= 70 Then Range("C1").Formula = "=(75 - (B1)) * 0.48" Else: Range("C1").Value = "-" End If End Sub よろしくお願いいたします。

  • Excel文字列の連結について教えてください(VBA)

    Excelの文字列の結合について教えてください。 色々調べたのですが、VBA自体がよくわからず困っています。 やりたい事は、(Excel表をご参考) 『セルA1とB1とA2の文字を固定で、セルA3以降の文字以降を  順次連結してcsvに書き出すVBAを作成したい。』 どうしても繰り返す連結マクロがわかりません。 ExcelVBAに詳しい方、教えてください。 よろしくお願いします。 結果例) 20080501A01 20080501A02 20080501B01 20080501C01   ・   ・(300件以上続きます) <Excel表>    A列  B列 1  2008  05 2  01    3  A01 4  A02 5  B01 6  C01 7  ・ 8  ・

  • エクセルVBA 行を文字列連結している列を連結した

    エクセルシートで行を文字列連結している列を連結したいのですが・・ 行を文字列連結しているセル「AY4」は、 データー入力されていない時は、「0」表示しないとか「””」もしくは指定文字列にしています。 =IF(AT4=0,"連結なし",ConcatenateRangeText(C4:AY4)) もしくは =IF(AT4=0,"",ConcatenateRangeText(C4:AY4)) この「AY4」のセルでデーター入力されたものだけ文字列連結したい 画面上は空白だったり「連結なし」と表示されるのでコピーすれば良いのしょうが、ユーザーフォームのCommandButton11_Click()で処理したいのですが。 又、データー入力のある、行の文字列連結と列の文字列を一緒で出来ても良いのですが

  • エクセル #に文字化けします。

    こんにちは。 エクセルで簡単なマクロを組んでいます。 あるシートのセルの内容を別シートに書き込みます。 ↓のような感じで。 Worksheets("A").Range("A1") = Worksheets("B").Range("B1") AシートのセルA1の表示形式は文字列型です。 少し長い文章を入力すると表示がすべて"#"に変わってしまいます。 表示形式を標準に戻せばちゃんと表示されます。 なぜでしょうか? 解決策がありましたら教えてください。 形式を標準にする方法はできればとりたくないのです。 ちなみに、セルの高さ、幅は変えることはできません。 みなさんよろしくお願いします。

  • エクセル マクロ IF関数について

    Sheet1にグループボックス内で、チェックボタンで項目を選択するとA1に記載されるように作成、マクロで入力ボタン作成しボタンをクリックするとSheet2に記載されるように作りました。しかし、項目が多いためSheet2を見るとABCDEFGなどの列に空白が目立ち使いづらいです。 そこでIF関数を使い何とか出来ないでしょうか? 例)SHEET1 B2に原因のグループボックスにカテゴリー(チェックボックスにて1)入力ミス、2)人、3)機械) B3に対応のグループボックスにカテゴリー(チェックボックスにて1)外注、2)修正、3)報告) と作り、それらがチェックされていたら、A1の列に表示され入力ボタンを押したら、Sheet2のAには原因、Bには対応と記載されるようにしたいです。その時Sheet1のA列に空白があれば、Sheet2の列に表示するようにしたいです。 実際のマクロ記入 Sub 入力() Dim LastRow As Long With Worksheets("Sheet2") LastRow = Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row + 1 .Range("A" & LastRow).Value = Worksheets("Sheet1").Range("A6").Value .Range("B" & LastRow).Value = Worksheets("Sheet1").Range("A7").Value .Range("C" & LastRow).Value = Worksheets("Sheet1").Range("A8").Value .Range("D" & LastRow).Value = Worksheets("Sheet1").Range("A9").Value .Range("E" & LastRow).Value = Worksheets("Sheet1").Range("A10").Value .Range("F" & LastRow).Value = Worksheets("Sheet1").Range("A12").Value .Range("G" & LastRow).Value = Worksheets("Sheet1").Range("A13").Value .Range("H" & LastRow).Value = Worksheets("Sheet1").Range("A15").Value .Range("I" & LastRow).Value = Worksheets("Sheet1").Range("A16").Value .Range("J" & LastRow).Value = Worksheets("Sheet1").Range("A19").Value End With End Sub お願いします教えてください。