• ベストアンサー

スペースを含む文字を分解するには

エクセル VBAにて 一つのセルに”ああ いいい う f ・・・”のように、スペースを含む文字があり、その文字の長さやスペースの数が不定の場合において、 別のセルの一つ一つに、”ああ”と”いいい”と”う”・・・を分けて入れたいのですがどうすればいいのでしょうか?

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

まっとうな方法は、 1.スペースかどうか一文字ずつLeft()やMid()で切り出して判断して自分で切り分ける。 楽をするなら 2.Split()でスペースを区切りとして配列に切り分ける。配列中の値が空だったら無視。

VitaminBB
質問者

お礼

どもども、久しぶりです。 こんな感じで出来ました。 Sub SplitTest() Dim strArray Dim strData For Each S In Selection strData = S ' 区切り文字にカンマ(スペース)を使用 strArray = Split(strData, " ") i = 1 For Each stritem In strArray S.Offset(0, i) = stritem i = i + 1 Next Next End Sub

関連するQ&A

  • スペースを除いた文字数

    エクセルで、セル内のスペースを除いた文字数を返す関数を教えて下さい。

  • エクセルの文字列の抜き出し方法

    複数の文字がスペースで混在している1つのセルから 特定の文字から始まる文字列の抜き出し方法を教えて下さい。 質問1: ”TEL :××-××××-×× 〒×××-×××× ggg”から ”〒×××-××××”を別セルに抜き出す。 質問2: ”××××××× ×××× ××× ”から 初めのスペースまでの”×××××××”を抜き出す。 ※文字数は不定です。

  • セル内の文字をスペースによって分割するには?

    教えてください。 a1 に DX-09 1 SD-4 2 HPE-25 3 と、全角半角入り混じってスペースで区切られた文字が入っています。 これを、B1,C1,D1,E1,F1,G1にそれぞれDX-09,1,SD-4,2,HPE-25,3 と分割させたいです。 必ず半角スペースで区切られていますが、それぞれの文字の長さはマチマチです。 また、全角数字のも文字の長さは不定形です。 excel2010を使用しています。 お知恵を貸してください。

  • Excelでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにするには?

    エクセルでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにすることって出来ますか? 例えば、 A1セルに 123456 という数字が入っていた場合 123456 の後ろに半角スペースを6コつけて 「123456_ _ _ _ _ _ 」 いう風に。 B1セルに 山田太郎 という文字が入っていた場合 山田太郎のあとに全角スペースを5コ入れて 「山田太郎_ _ _ _ _ 」 セルの数字を入力すると半角又は全角スペースを決められている数だけ自動で入力されるようにしたいのですが 何かいい方法はないでしょうか? accessでマクロ使ったほうが簡単かもしれないんですが、accessあまり分からないので・・。 説明がわかりにくくて申し訳ないんですがよろしくお願いします!!

  • 文字列末尾のスペースを削除したい

    Excelのセルに入っている文字列末尾のスペースを削除したいのですが良い方法はありませんか。 セルの数が少なければ一個ずつ削除するのですが、数百個もあるのでできれば関数を使用して一気に処理したいです。 バージョンはExcel97を使用していますが、2000ならできるという情報でも構いません。よろしくお願いします。

  • エクセルVBAで一つのセル内に何文字あるか調べる方

    エクセルVBAで一つのセル内に何文字あるか調べる方法はありますか。 スペースもカウントして構いません。

  • Excel セル内の文字だけを取り出すには

    Excelの1つのセルに 01234 ABCDEFG のように、「数字5つ(固定)+半角スペース+(任意の数の)文字」 が入力されています。数値は必ず5桁と決まっていますが、 文字列の数はさまざまです。 関数で文字の部分だけ、別のセルに取り出したいのですが、 どの関数を使うとできますか?教えて下さい。 よろしくお願いします。

  • EXCELの文字列操作で文字数不足の分をスペースで補う方法

    EXCELの文字データを取り出す際に以下のような操作を行いたいんですが、方法をご存知の方がいらっしゃいましたら教えていただけませんでしょうか。 既にデータの入力されているセルの文字数が、ある一定数に満たない場合は不足分を半角スペースで補う 【例】文字数を15と指定したとします セルに入力されたデータ:山田_ 太郎    ↓ 求めたいデータ:山田_ 太郎_ _ _ _ _ _ (山田の後に半角スペースが1、太郎の後に半角スペースが6つ入っていると仮定してください) ※TEXT関数で数値の文字数不足分を0で埋めるということはできたのですが、TEXT関数は数値のみを対象としているようで・・・。 【例】12345 → 000000000012345 よろしくお願いいたします。

  • エクセル 2007/5/23の文字数が9文字としてカウントされないのはなぜ?

    エクセルにて 2007/5/23とセルに書いてあります。 そのセルの文字の数をlen関数で数えると9文字と表示されず、 5文字となりますが、なぜですか? また'2007/5/23とすると、ちゃんと9文字になりますが、 VBAで’を追加して、ちゃんと9文字と表示されるように する方法を教えてください。

  • VBA 文字間に半角スペースを入れる

    OSは Win7、Excelは2013 を使用しています。 F列に名前が入っています。 名前の文字の間に、半角スペースを入れたいのですが、 (山田太郎 → 山 田 太 郎) 名前なので文字数がそれぞれ違うので、どうすればいいかわかりません。 どなたかご教示いただけたら有難いです。 よろしくお願い致します。