• ベストアンサー

セル内で改行された文字列をセル分割したい

pbforceの回答

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

Sub test() strTest = Cells(1, 1).Value Cells(1, 2) = InStr(1, strTest, vbLf) End Sub でセル内の改行位置を判定できます。 セル内のvbLfを探せば文字を分割する位置が判断できます。

azuaz
質問者

お礼

判定条件を理解しました。ありがとうございました。

関連するQ&A

  • セル内で改行された文字列をセル分割したい

    以下のような一セル内で改行された文字列を改行ごとに分割して別シートへコピーしたいと考えています。 (以下は山田さんのレコード一行を記載しましたが下のセルに担当者のレコードが同様に続きます。)    A         B           C          D  ----------+---------------+------------+---------------+   担当者      日付         履歴        更新日  ----------+---------------+------------+---------------+  山田       2001/01/01    札幌支店    2005/01/01            2002/01/01    福岡支店    2005/04/01            2003/04/01    東京支店    2005/04/01  ----------+---------------+------------+---------------+ 上記を別シートへ以下のようにセル内容を分割してコピーしたいのです。    A         B            C           D  ----------+---------------+------------+---------------+   担当者     日付         履歴       更新日  ----------+---------------+------------+---------------+    山田     2001/01/01    札幌支店     2005/01/01  ----------+---------------+------------+---------------+    山田     2002/01/01    福岡支店     2005/04/01  ----------+---------------+------------+---------------+    山田     2003/04/01    東京支店     2005/04/01  ----------+---------------+------------+---------------+ 当方Excel2000を利用していますが上記の処理VBAマクロをどうか教えてください。

  • 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 ご教授いただけると助かります。 よろしくお願い致します。

  • 複数列のセル内改行位置でセルを分割する方法

    エクセルVBAで下記のように複数列にセル内改行があった時に 1改行を1行として分割をしたい場合、 【A列】 a1作業日(項目名) a2(改行あり) 2013/4/1 2013/4/3 a3(改行なし) 2013/4/1 a4(改行あり) 2013/4/1 2013/4/2 【B列】 b1終了日(項目名) b2(改行あり) 2013/4/2 2013/4/10 b3(改行なし) 2013/4/2 b4(改行あり) 2013/4/15 2013/4/20          ↓    A 列 B列    作業日 終了日 1行目 2013/4/1 2013/4/2 2行目 2013/4/3 2013/4/10 3行目 2013/4/1 2013/4/2 4行目 2013/4/11 2013/4/15 5行目 2013/4/16 2013/4/20 としたいとき、何か良い方法はありますでしょうか? よろしくお願いいたします。

  • Excelセル内の改行を含む文字列の1行目抽出

    Excelセル内の改行を含む文字列があり、関数を使って、その1行目だけ抽出したい。 たとえば、下記のような式を書きました。「改行コード」おかしみたいで動作しません。 Left("A1", Find(vbCrLf, "A1")) (改行コードをさがして、そこまでの文字列を切り取る) これをVBAで書く方法があれば、コードを教えてください!

  • セル内で改行されている状態から文字を抜き出したい

    現在、セル内の文字を抜き出す作業を行いたいと考えております。 A1セル内に以下の文字が記載されております。 Aさん - 東京 Bさん - 神奈川 XYZさん - 沖縄 ↑ 詳細は 「Aさん(半角スペース)-(半角スペース)東京(改行) Bさん(半角スペース)-(半角スペース)神奈川(改行) XYZさん(半角スペース)-(半角スペース)沖縄」 これを関数で、 B1セル: Aさん B2セル: Bさん B3セル: XYZさん という形でを抜き出す事は出来るのでしょうか。 セルによっては、以下の様に入力されております。 セル内に入力されている人の数に限りはありません。(最大で20名位) A2セル:    Bさん - 神奈川 A3セル:    XYZさん - 北海道   CDさん - 静岡 A4セル:   DDDDDDさん - 山梨   AEさん - 千葉   CCCさん - 大阪   Oさん - 高知 ・・・ という形で続いております。 ご教示いただけると大変助かります。 よろしくお願い申し上げます。

  • Excel 特定のセルだけEnterでセル内改行

    タイトル通りのことなのですが、VBA等を駆使してできないか悩んでいます Excelのセル内改行は通常Alt+Enterなのですが、 使っているシートの一つのセルだけ複数行入れるような大きな所があります。 他のセルでは問題ないのですがここの入力時では、 いつもAltを押しながらでないと改行できない煩わしさが募りまして、 「このセル内に限り」Enterキーだけで改行できるようにしたいのです。 条件としてはあくまでこのセルのみで、形を崩さずにできることが望ましいです。 この入力セルは他シートから参照されているため 複数行のセルに分割したり、テキストボックスに置き換えることは難しいです 色々探した挙句、Application.MoveAfterReturn など VBAを駆使して考えてみたのですが 手詰まりになってしまいました。 何かできる方法はありますでしょうか?

  • Excelで同一セル内に入力されているデータを他のセルに分割したい

    こんにちは。 宜しくお願い致します。 エクセルで同一セル内に、セル内改行で1~6列ほどのデータが入力されています。 A1セル~A100セル…という風に、縦にデータが入力されていて、それぞれのセルにセル内改行を含み、データが入力されているイメージです。 それぞれのセル内のデータを… 例えば、A1セル内に5行入力されていたら、A2セルから入力されている行数分(ここでいうと5行)挿入し、それぞれにデータを分割して入力させたいと思っています。 以下のセルも同様に、挿入→分割といった感じで全データを分割させたいのです。 OKWave内でもチェックして、 http://okwave.jp/qa1927817.html?ans_count_asc=2 や http://okwave.jp/qa4216384.html など、近いものはいくつか見つけたのですが、ピッタリのものが見つからず、マクロの編集もよくわからなかったのでこちらで質問させてもらいました。 どなたか申し訳ありませんが、教えていただけますか? 宜しくお願い致します。

  • 住所のセル分割について

    お尋ねします A1のセル→**山田町1-1-1山田アパート** のように番地とアパート・マンション名が続けて入っているセルがいくつもあります。 これを B1→**山田町1-1-1 C1→山田アパート** のように2つのセルに分割する方法はありませんでしょうか。 番地とアパート名の間にはなにもありません。 また番地までの住所の長さはまちまちです。 よろしくお願いいたします。

  • エクセルのセル内の改行を削除する方法

    以下のようなセルが沢山あります。 ※[改行]とは改行が入っているという意味です。 -------------------セルの中身はここから [改行] [改行] [改行] (1)みかん[改行] (2)こたつ[改行] (3)おもち[改行] [改行] [改行] -------------------セルの中身はここまで。 このとき、文章が入っていないところの[改行]、および、最終行の[改行]だけを自動で削除して、 -------------------セルの中身はここから (1)みかん[改行] (2)こたつ[改行] (3)おもち -------------------セルの中身はここまで。 このように整形するためにはどういうVBAもしくはマクロを作ったらよいでしょうか?

  • Excelのセル内容の分割について

    以下のようにセルA1では家族の名前が”・”で区切られて入力してあり、セルB1ではそれに伴う”備考”が記入してあります。 A1                                      | B1 山田太郎・花子・次郎・三郎    | 備考文書 以上のような形式を一括で以下のように行を挿入し分割したいと考えています。 *備考は全てB1をコピーしたい。 山田太郎                             | 備考文書 山田花子                             | 備考文書 山田次郎                             | 備考文書 山田三郎                             | 備考文書 分かり難い説明で申し訳ありませんが宜しく御願い致します。