• ベストアンサー

エクセル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