エクセルのマクロについての質問です。

public Hoge As String
と宣言された変数があります。
Hogeは半角スペース区切りの数値
又は空です。

Hoge内の半角スペースを半角カンマに置換したいのですが
どのようにすればいいでしょうか?

回答の条件
  • 1人2回まで
  • 登録:2007/08/03 01:00:16
  • 終了:2007/08/03 01:20:19

回答(3件)

id:rafile No.1

rafile回答回数662ベストアンサー獲得回数242007/08/03 01:10:02

ポイント100pt

for i=1 to len(hoge)

if instr(mid(hoge,i,1)=" ") then

mid(hoge,i,1)=","

end if

next

動かなかったら

for i=1 to len(hoge)

if instr(mid(hoge,i,1)=" ") then

if i=1 then

hoge=","+right(hoge,len(Hoge)-1)

elseif i=len(hoge) then

hoge=left(hoge,i-1)+","

else

hoge=left(hoge,i-1)+","+right(hoge,len(hoge)-i)

end if

next

id:masashi0316

KUROX さんの方がカンタンそうなので

そっちでやってみます。

ありがとうございました。

2007/08/03 01:19:42
id:KUROX No.2

KUROX回答回数3542ベストアンサー獲得回数1402007/08/03 01:15:17

ポイント100pt

Hoge = Replace(Hoge," ",",")

http://www.geocities.jp/cbc_vbnet/function/mojireyu_function.htm...

Replace関数がサポートされていたら、これでいけると思います。

id:masashi0316

ばっちりです。どうもでした~

2007/08/03 01:19:54
id:robbie21 No.3

robbie21回答回数34ベストアンサー獲得回数12007/08/03 01:18:54

ポイント10pt
Sub SpaceToComma()
    Dim Hoge As String
    Hoge = "hoge hage hige"
    
    
    'Replaceで置換
    Dim Hoge2 As String
    Hoge2 = Replace(Hoge, " ", ",")
    Debug.Print Hoge2
    
    'とか
    
    'Splitで空白で分割してJoinでつなげるとか
    Dim Hoge3 As String
    Hoge3 = Join(Split(Hoge, " "), ",")
    Debug.Print Hoge3
    
End Sub

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません