• ベストアンサー

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

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

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

  • ベストアンサー
回答No.2

> 連結だけならそれで良いのですが、文字列と日時の混在データーなので、連結後の表示も入力セル通りにしたいのです マクロでならText、セルで計算なら対象セル連結時にTEXTでフォーマット指定する感じですね > それと、入力データー行数が変化するので最終行までを選んで複数行文字列連結したいのです 全部の文字列を最終的にひとつの文字列にするということでしょうか? セルで計算した結果をメモ帳に貼ったものみたいな? > 又、行の連結データーをすべて連結して > 文字列連結後は > 1.指定セルに貼り付け > 2.クリップボードに貼り付け > 3.テキストファイルに保存 > したいのですが・・・。 これらを全て、途中で追加オペレーションが発生することなくマクロで行いたい、ということでしょうか? マクロで行うなら 2行目から最終行までと、A列行数分の2重ループとし、A列値とB列以降のText値を結合、を繰り返す。 都度VbCrとVbLfを結合し、ひとつのでかい文字列にします。 (どれほどの行数か不明ですが、Stringの最大サイズだけは気にしてあげる必要があるやも) 指定セルへの貼付はそのままセルに入れてしまえばいいですし、 クリップボードへの格納はDataObject、テキスト保存はFileSystemObjectでいいと思います。

minakun01
質問者

補足

y_free_tempさん ありがとうございます >マクロでならText、セルで計算なら対象セル連結時にTEXTでフォーマット指定する感じですね TEXTでの連結は分かりました >全部の文字列を最終的にひとつの文字列にするということでしょうか? そうです。一つの文字列にしたいのです。 >セルで計算した結果をメモ帳に貼ったものみたいな? そうです >これらを全て、途中で追加オペレーションが発生することなくマクロで行いたい、ということでしょうか? そのとうりです。一気に出来ないかと思っています >マクロで行うなら >2行目から最終行までと、A列行数分の2重ループとし、A列値とB列以降のText値を結合、を繰り返す。 >都度VbCrとVbLfを結合し、ひとつのでかい文字列にします。 ここのあたりをお教え下さい >(どれほどの行数か不明ですが、Stringの最大サイズだけは気にしてあげる必要があるやも) 行数は今のところ不明ですが、どれ位なら大丈夫でしょうか? Stringの最大サイズの設定方法は >指定セルへの貼付はそのままセルに入れてしまえばいいですし、 指定セル貼り付けはOKです >クリップボードへの格納はDataObject、テキスト保存はFileSystemObjectでいいと思います。 調べます 以上よろしくお願いいたします

その他の回答 (1)

回答No.1

マクロではないですが、期待値は添付の画像のようなものでしょうか? H2にはこんなのを指定しています =$A$2&B2&CHAR(10)&$A$3&C2&CHAR(10)&$A$4&D2&CHAR(10)&$A$5&E2&CHAR(10)&$A$6&F2 H2を下の行へコピーしていけば他の行でも同様の結果が得られます。 改行コードがおそらくLFのみなので必要であれば変更してください。

minakun01
質問者

補足

y_free_tempさん ありがとうございます 連結だけならそれで良いのですが、文字列と日時の混在データーなので、連結後の表示も入力セル通りにしたいのです それと、入力データー行数が変化するので最終行までを選んで複数行文字列連結したいのです 又、行の連結データーをすべて連結して 文字列連結後は 1.指定セルに貼り付け 2.クリップボードに貼り付け 3.テキストファイルに保存 したいのですが・・・。

関連するQ&A

  • Excelマクロにて文字列連結

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

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

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

  • Excelで複数行の連結

    CONCATENATE関数を使うと複数の文字列の連結ができますが、行のデータを連結させるには どのような関数を用いれば良いのでしょうか? =A1&A2&A3&A4 と云った、地味な作業ではなく、関数でパシッツ!とできる方法を教えて下さい。

  • エクセル 文字列連結演算子で文字列を結合

    文字列連結演算子の「&」 を使って文字列を結合し、その間に()を投入したいです。 A列   B列  C列        D列 高橋太郎 東京  文字連結演算子  高橋太郎(東京) C列 =A1&(B1) ではエラーがでます。正しい書式を教えてください。 A列    B列  C列   D列  E列        F列 高橋太郎 (    東京   )  文字連結演算子   高橋太郎(東京) E列 =A1&B1&C1&D1 ってのは分かるのですが、もっとスッキリするものはないでしょうか? 宜しくお願いします。

  • 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  ・

  • エクセルで複数の同じ列に文字がある行をまとめる

    エクセル2007です。 エクセルに300行のデータがあります。 各行には複数の列に文字がありますが全て同じ列に文字があるわけではありません。 1行にはA,B,D,K 2行にはC,S,T 3行にはB,C,K,N 4行にはD,F,G,O,P のように文字が入っていますがまったく同じ列に文字が入っている行があり、同じ列に文字が入っている行をまとめる事は可能でしょうか? 例えば 1行のA,B,D,Kと同じ列に文字の入っている他の行を2行目から続けて表示し、そのグループが終われば2行のグループが続くと言う具合です。 1行目のグループが最初で2行目のグループが2番目に来る必要はなくグループ分けが出来れば目的達成です。 具体的には色使い表があり行には製品番号、列には各色が表記されており個別の商品に使われている色の列に文字は入っています。 違う商品で同じ色使いがある物も多数あるのですが同じ色使いの商品をグループとしてまとめたいと言う希望があります。 素人でこの事が可能かどうかもわかりません。 いろいろ探しましたが答えが見つかりませんでしたのでお尋ねします。 以上宜しくお願い致します。

  • エクセルで、列内の連続した文字を一気に結合したい

    エクセルで、列内の連続した文字を一気に結合したい どういうことかといいますと、例えば列内に Aさん Aさん Aさん Aさん Bさん Bさん Bさん Bさん Bさん Cさん Cさん Cさん Cさん Cさん という列があったとして、セルの結合を行い、一度に Aさん Bさん Cさん という風にしたいのです。 簡単に行える方法はないでしょうか。 よろしくお願いいたします。

  • VBA 連続行データを5行ずつ隣の列に貼り付ける

    初めて質問します。VBA初心者です。 B列に連続した1ヶ月分のデータがあり、1日の項目は5項目あります。 このデータを1日分毎に、C列以降に貼り付けるマクロを教えてください。 A列には、日付が5行おきに入っています。 このような感じです。 実行前 ↓↓↓     A列  B列  C列  D列 ・・・ 1行  1/1  10 2        20       3        30 4        40 5        50 6    1/2  11 7        22  8        33  9        44  10       55  11   1/3 12 ・ ・ ・ 実行後 ↓↓↓     A列  B列  C列  D列 ・・・ 1行  1/1  10    11   12 2        20    22    ・       3        30    33    ・     4        40    44    ・    5         50    55    ・    よろしくお願いいたします。

  • ゼロを含む文字列の連結方法

    初歩的な質問かもしれませんが、お願いします。 ゼロが連続する文字列を連結させて、ひとつの文字列にしたいのですが、strcpyとstrcatの組み合わせでは、00があった時点でこの部分が抜けてしまいます。ゼロを含む完全な形で連結する方法をお願いします。 例: 文字列A:「0001」と文字列B:「0055」と文字列C:「00AA」を連結して、 文字列X:「0001005500AA」を作りたいのです。

  • エクセルの複数行の文字列を…

    エクセルに箇条書きにされている文字列を一つのセルにまとめたいのですが簡単な方法はありますか? 状態と致しまして、1カテゴリ 1.A欄に1行の文字列 2.B欄に3行の文字列 3.C欄に5行の文字列 4.D欄に3行の文字列 5.E欄に空欄 6.F欄に3行の文字列 上記内容は例となりますのでこの限りではありません。 この状態でA~Fの欄を1行にしたいのですが? 罫線で区切られカテゴリは複数あります。 内容がばらばらなので行が固定していません。 簡単に出来る方法を教えて下さい。

専門家に質問してみよう