プロが教えるわが家の防犯対策術!

Excel VBAについての質問です。
現在、splitを使って、文字を分けようとしているのですが、実行すると、写真右上の様になってしまいます。右下のようにするにはどうしたらいいでしょうか。

「Excel VBAについての質問です。 」の質問画像

A 回答 (5件)

>BR→ BとRに別れるのですが、B単体だと、両セル共Bになってしまうのですが、この場合、右セルは空白のままにする方法はありますでしょうか。



一文字か、二文字をという話であれば、、、一文字の時はそのままにするという風に替えればよいです。
Do
strOrig=trim(cells(a,2))
cells(a,1) =left(strOrg,1)
if len(strOrig)>1 then
cells(a,2) =right(strOrg,1)
end if
a = a + 1
If Cells(a, 1) = ”” Then
Exit Do
End If
Loop
    • good
    • 1
この回答へのお礼

おぉ!!出来ました!!なるほど…そこにifを使えば良かったのですね…
3件もの質問に答えて頂きありがとうございます!!何とか作成しているものが完成に近付いてきました…本当にありがとうございますm(*_ _)m

お礼日時:2020/05/25 10:54

Cell(fg, 2+bg)=arr(bg)



Cell(fg, 1+bg)=arr(bg)
    • good
    • 1
この回答へのお礼

ShowMeHow様、先週に引き続きありがとうございます(><)先週教えてもらったのを使ってみようと思ったんですが、left rightだと文字が指定出来なくて…
お陰様で解決する事が出来ました…もし良ければなのですが、先週の問題解決後に気付いた事なのですが、BR→ BとRに別れるのですが、B単体だと、両セル共Bになってしまうのですが、この場合、右セルは空白のままにする方法はありますでしょうか。

お礼日時:2020/05/25 10:34

あ、逆だった。

 1列目書き換えたいのであれば、

cells(a,1) = b(0)
cells(a,2) = b(1)

ですね。
    • good
    • 1

この前の続きで、、、



Do
b=split(trim(cells(a,1))," ")
cells(a,2) = b(0)
cells(a,3) = b(1)
a = a + 1
If Cells(a, 1) = ”” Then Exit Do
Loop

みたいな話でしょうかね。
    • good
    • 1

どんな 式 にしたか 具体的に書いてください。

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

Dim fg As Long, jh As Long
Dim arr As Variant
Dim bg As Integer
fg=2
Do
arr = Split(cell(fg,1)," ",,vbTextCompare)
bg = 0
For bg=LBound(arr) To UBound(arr)
Cell(fg, 2+bg)=arr(bg)
Next bg
fg=fg+1
If Cells(fg,1)="" Then
Exit Do
End If
Loop
という感じです

お礼日時:2020/05/25 10:00

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