【最大10000ポイント】当たる!!質問投稿キャンペーン!

エクセルで特定の文字の前や後で半角スペースを一括挿入したい。

特定の文字の前後に半角スペースを一括挿入したいと思うのですが、こういうことって可能ですか?

例えば、「ワールドカップ2010」→「ワールドカップ 2010」みたいな感じです。

「プ」の後か「2」の前に半角スペースを挿入したいです。

教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (7件)

このコードは、数値や英文字との区切りの間に半角スペースを入れるものです。

全角には反応しません。

//コマンドボタンに貼り付けるなら、フォームボタンがよいです。
Sub Main()
 Dim c As Variant
 Dim rng As Range
 If TypeName(Selection) = "Range" Then
  Set rng = Selection
  If rng.Count = 1 Then _
  MsgBox "セルの範囲を選択してください。", vbExclamation: Exit Sub
  For Each c In rng
   c.Offset(, 1).Value = SpaceEnter(c.Value)
  Next
 End If
End Sub
Public Function SpaceEnter(strVal As Variant) As String
Dim buf As String
If VarType(strVal) = vbString Then
 buf = strVal
Else
 Exit Function
End If
With CreateObject("VBScript.RegExp")
 .Global = True
 .Pattern = "\b(\d|[A-z])" 'パターン
 buf = .Replace(buf, Space(1) & "$1")
End With
SpaceEnter = buf
End Function
    • good
    • 2

基本的には関数、VBAでやるより、操作の「置換」ほうが簡単だ。

置換の操作は常識だが、置換ロジックがうまく行くかどうかは、質問者が(質問者しか)データの情況を知らないのだから、自分で考えるべきだ。
>、「ワールドカップ2010」→「ワールドカップ 2010」みたいな感じです
>「プ」の後か「2」の前に半角スペースを挿入したいです
こんな例は質問の例としては大ざっぱ過ぎるのではないか。例えを単純化しすぎでは。
これを機械的に置換して、置換しなくても良いものを置換しないかどうか。
それでよければ
編集ー置換ー検索する文字列 プ、置換後の文字列 (プのあとに1スペースを入れる)
全て置換
ーー
これより
検索する文字列 プ2、置換後の文字列 (プのあとに1スペースを入れ2を続ける)
の方が良い場合もあろう。
ワールドカップ 2010
ワールドカ2011
カップめん
ーー
根本的にこれらではまずい場合があるなら、例示して改めて質問のこと。
    • good
    • 0
この回答へのお礼

ありがとうございます。文章の意味とか書き方とかなんかよく判りませんでした。

お礼日時:2010/07/01 09:56

抜けてた、




Sub Tikan()

ActiveCell.Value = Replace(ActiveCell.Value, "ワールドカップ", "ワールドカップ ")

End Sub
    • good
    • 0

Sub Tikan()



 ActiveCell.Value = Replace("ワールドカップ", "ワールドカップ ")

End Sub


これでいいんか?
    • good
    • 0

置換で検索文字列欄に「プ2」、置換文字列欄に「プ 2」で如何でしょうか。


因みに「」は不要です。
    • good
    • 2

Replase("ワールドカップ","ワールドカップ ")

    • good
    • 0

Replace("あはは","あはは ")

    • good
    • 0
この回答へのお礼

これじゃ判りませんね。

お礼日時:2010/06/30 12:50

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelで文字間にスペースを一発で入れられる方法を教えてください。

Excelで苗字を入力した行が複数あります。
その苗字は全て2文字です。
それらの文字間にスペースを入れたいのですが、関数を使って一発で操作はできないでしょうか?
どなたかご教示ください。
よろしくおねがいいたします。

Aベストアンサー

◆こんな方法もありますよ
=REPLACE(A1,3,," ")

QExcelで、入力文字の後に自動で空白を入れるには

セルに任意の文字を入力し、その後ろに自動で空白を入れる方法を探しています。
具体的には、次のような内容です。

1 セル内は必ず全角10文字にする。
2 A1に「北海道」と入れたとき、B1は「北海道       」と空白が7文字分入る。
3 A2に「青森」と入れたとき、B1は「青森        」と空白が8文字分入る。

としたいのです。
可能であればBのセルを使わず、Aに入力しEnterを押したらセル内が変わると言うのが理想ですが…
何かいい方法があれば教えて下さい。

Aベストアンサー

=A1&REPT(" ",10-LEN(A1))
””の中は全角スペース。REPT関数は文字列繰り返し。
10文字以上はないとします。

Qエクセル・文字列の先頭に空白を挿入する

空白を削除するという質問はよくあるのですが、空白を作るという操作がわかりません。とっても簡単すぎて質問されていないのでしょうか?
すでに作成済みのデータで、セルに「あああ  」と
入っているとして、「 あああ   」という風に一文字右へずらした状態にしたいのです。どうしたらよいのでしょうか?よろしくお願いします。

Aベストアンサー

表示1文字ずらしたいのでしたら、
[セルの書式設定]→[配置]タブ→文字の配置の「インデント」
ここを「1」にして下さい。
空白を実際に入れるのでしたら別シートに
=" "&Sheet1!A1
といった数式を入れて対応することになると思います。

QExcelで特定の文字の前だけに空白を挿入したい

Excel である特定の文字の前だけに、

全角スペースを挿入したいのですが、

文字は 補 という文字で、

セルの範囲はC5からAD30迄です。

宜しくお願いします。

Aベストアンサー

空白を挿入すると思い込んでしまうから、簡単なことも難しくしてしまうのです

補 を 空白+補 に置き換える と考えれば良いだけです

柔軟な発想が必要です

QExcel 文字の前にスペースを入れる

こんにちは。
Excelで文字を入力すると罫線にぴった付いてしまいます。
少し文字の前にスペースを入れたいのですが、何か方法はありますか?
また、数字を入力した時は右側に寄せたいので、その時も後ろに少しスペースを入れられたらいいなと思ってます。
宜しくお願いいたします。

Aベストアンサー

[書式]→[セル]→[配置]タブ
で、文字の配置を(インデント)とついているものにする。
インデントはその隣のBOXで指定。

QEXCELで文字列の後ろに同じ文字列を追加するには?

初心者です、教えてください。
ワークシート内の一行の文字列全てに同じ文字を追加したいのですが、方法を教えてください。
初歩的な質問で恐縮ですが、どうかよろしくお願いします。

Aベストアンサー

A1の文章の最後に「ほげー」をつけたいときは、
B1に
=A1&"ほげー"
と入力して、対象となる下までフィルダウン。

そのあと、B列をコピー⇒形式を選択して貼り付け⇒値
最後にA列を削除すればできます。

QExcelのセル内の文字の頭に半角空白を入れるには

Excelで作った住所録があります。セル内の氏名あるいは住所の頭に半角の空白を入れる修正をしたいと思います。簡単な方法を教えて下さい。初心者ですから、出来たらVBA等使わずにお願いします。使った方が楽な場合は最低限のものでお願いします。

Aベストアンサー

表示形式で即座に解決できます。現在のセル(シート)の中身は一切そのままで出来ます。

表示を変えたいセル(複数可)を選択して「セルの書式設定」のダイアログを表示させ、「表示形式」の分類で「文字列」を選択し、その後「ユーザー定義」を選択します。
すると右側の「種類(T):」の下に「@」(文字列の表示形式記号)が表示されます。その前にカーソルを持って行き、「 」(スペース。全角でも半角でも可)を打ち込んで下さい。

これで「OK」を押せば、選択した範囲の文字列の前に全て半角のスペースが追加されているはずです。
中身は一切変わっていません(飽くまで表示のみの変化です)から、検索等も今まで通りの条件で出来ます。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QExcel 文字列の前後に、特定の文字を付加したい

Excelで、ある列に不規則な文字列がならんでいます。
その文字列の前後に、いっせいに好きな文字を付加したいのです。
例えば、「AAA」という文字列の前後に
「BBBACCC」といったように
AAAといった文字列にBBBやCCCと一斉に付加したいです。
AAAはアルファベットや日本語等さまざまなのですが、
どうすればいいでしょうか?
教えてください。

Aベストアンサー

& で繋ぎます。

A1 セルの文字の前後に、ABC と DEF を付けたいなら、
別のセルに下記のような式を入れます。

="ABC" & A1 & "DEF"

Qエクセルのセルの中の,よりも前の文字を消すには?

例えばA1のセルに"1,apple"、A2のセルに"2,orange"といった感じで
下へ何個も箇条書きのような文字の入ったセルがA列に続いているとします。
この場合関数などを使い、,の前の数字を,ごと消してしまう方法はありますか?

例えばA1のセルに"1,apple"なら、"apple"に変更するといった感じです。

Aベストアンサー

次の方法は如何でしょうか。
(1)A列を選択→編集→置換
(2)検索文字列欄に*,(半角) 置換文字列欄は未入力→すべて置換


人気Q&Aランキング