- ベストアンサー
エクセル すべての文字間にスペースを入れる方法
エクセル2007を使用しています。 500文字の文字列の全ての文字間にスペースを入れる方法はあるでしょうか? どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロで直接置き換えてしまうことも可能ですが、そうすると元に戻すのが大変なので、ユーザ定義関数にします。 まず以下のマクロを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 最終的に文字列として欲しいなら、式の表示結果をコピーして、別のセルに「編集」→「形式を選択して貼り付ける」→「値」で貼り付けてください
その他の回答 (1)
「500文字の文字列」がどこに幾つあるかによって アプローチも変わってくると思いますが…。 例えば、A1セルに「500文字(以内)の文字列」があるとして、 A2:=LEFT(A1,1) A3:=A2&IF(ROW()-2>=LEN(A$1),""," "&MID(A$1,ROW()-1,1)) としてA3セルを下方にフィル。 A501セルに表示される文字列が求める文字列です。
お礼
これでも出来ますね。すごい!ありがとうございました。
お礼
ありがとうございました! 解決いたしました。感謝いたします。