- ベストアンサー
エクセルVBA 文字列複数行・列連続連結
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 連結だけならそれで良いのですが、文字列と日時の混在データーなので、連結後の表示も入力セル通りにしたいのです マクロでならText、セルで計算なら対象セル連結時にTEXTでフォーマット指定する感じですね > それと、入力データー行数が変化するので最終行までを選んで複数行文字列連結したいのです 全部の文字列を最終的にひとつの文字列にするということでしょうか? セルで計算した結果をメモ帳に貼ったものみたいな? > 又、行の連結データーをすべて連結して > 文字列連結後は > 1.指定セルに貼り付け > 2.クリップボードに貼り付け > 3.テキストファイルに保存 > したいのですが・・・。 これらを全て、途中で追加オペレーションが発生することなくマクロで行いたい、ということでしょうか? マクロで行うなら 2行目から最終行までと、A列行数分の2重ループとし、A列値とB列以降のText値を結合、を繰り返す。 都度VbCrとVbLfを結合し、ひとつのでかい文字列にします。 (どれほどの行数か不明ですが、Stringの最大サイズだけは気にしてあげる必要があるやも) 指定セルへの貼付はそのままセルに入れてしまえばいいですし、 クリップボードへの格納はDataObject、テキスト保存はFileSystemObjectでいいと思います。
その他の回答 (1)
- y_free_temp
- ベストアンサー率50% (7/14)
マクロではないですが、期待値は添付の画像のようなものでしょうか? 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のみなので必要であれば変更してください。
補足
y_free_tempさん ありがとうございます 連結だけならそれで良いのですが、文字列と日時の混在データーなので、連結後の表示も入力セル通りにしたいのです それと、入力データー行数が変化するので最終行までを選んで複数行文字列連結したいのです 又、行の連結データーをすべて連結して 文字列連結後は 1.指定セルに貼り付け 2.クリップボードに貼り付け 3.テキストファイルに保存 したいのですが・・・。
補足
y_free_tempさん ありがとうございます >マクロでならText、セルで計算なら対象セル連結時にTEXTでフォーマット指定する感じですね TEXTでの連結は分かりました >全部の文字列を最終的にひとつの文字列にするということでしょうか? そうです。一つの文字列にしたいのです。 >セルで計算した結果をメモ帳に貼ったものみたいな? そうです >これらを全て、途中で追加オペレーションが発生することなくマクロで行いたい、ということでしょうか? そのとうりです。一気に出来ないかと思っています >マクロで行うなら >2行目から最終行までと、A列行数分の2重ループとし、A列値とB列以降のText値を結合、を繰り返す。 >都度VbCrとVbLfを結合し、ひとつのでかい文字列にします。 ここのあたりをお教え下さい >(どれほどの行数か不明ですが、Stringの最大サイズだけは気にしてあげる必要があるやも) 行数は今のところ不明ですが、どれ位なら大丈夫でしょうか? Stringの最大サイズの設定方法は >指定セルへの貼付はそのままセルに入れてしまえばいいですし、 指定セル貼り付けはOKです >クリップボードへの格納はDataObject、テキスト保存はFileSystemObjectでいいと思います。 調べます 以上よろしくお願いいたします