• ベストアンサー

エクセル すべての文字間にスペースを入れる方法

エクセル2007を使用しています。 500文字の文字列の全ての文字間にスペースを入れる方法はあるでしょうか? どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

マクロで直接置き換えてしまうことも可能ですが、そうすると元に戻すのが大変なので、ユーザ定義関数にします。 まず以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。 ワークシート画面に戻って  =SpAdd(A1) のように式を入れると、A1セルの文字列の各文字間に半角スペースを入れた文字列を表示します。 Function SpAdd(ByVal trg As Range) As String Dim idx As Integer   If Len(trg.Cells(1, 1).Text) > 1 Then     For idx = 1 To Len(trg.Cells(1, 1).Text)       SpAdd = SpAdd & Mid(trg.Cells(1, 1).Text, idx, 1) & " "     Next idx     SpAdd = Left(SpAdd, Len(SpAdd) - 1)   Else     SpAdd = trg.Cells(1, 1).Text   End If End Function 最終的に文字列として欲しいなら、式の表示結果をコピーして、別のセルに「編集」→「形式を選択して貼り付ける」→「値」で貼り付けてください

akikei
質問者

お礼

ありがとうございました! 解決いたしました。感謝いたします。

その他の回答 (1)

noname#52504
noname#52504
回答No.2

「500文字の文字列」がどこに幾つあるかによって アプローチも変わってくると思いますが…。 例えば、A1セルに「500文字(以内)の文字列」があるとして、 A2:=LEFT(A1,1) A3:=A2&IF(ROW()-2>=LEN(A$1),""," "&MID(A$1,ROW()-1,1)) としてA3セルを下方にフィル。 A501セルに表示される文字列が求める文字列です。

akikei
質問者

お礼

これでも出来ますね。すごい!ありがとうございました。

関連するQ&A

専門家に質問してみよう