アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBAについての質問です。
現在、split関数を使って、文字を分けているのですが、今のプログラムだと実行しても写真上みたいになってしまいます。写真下のようにするにはどうしたらいいでしょうか…
因みに今作っているプログラムはこんな感じです。
a = 2
Do
b = Split(Cells(a, 1),"B")
c = 0
For c = LBound(b) To UBound(b)
Cells(a, 2) = b(c)
Next c
a = a + 1
If Cells(a, 1) = ”” Then
Exit Do
End If
Loop

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

A 回答 (2件)

元の文字を消してしまうなら、、、


Do
strOrig=trim(cells(a,2))
cells(a,1) =left(strOrg,1)
cells(a,2) =right(strOrg,1)
a = a + 1
If Cells(a, 1) = ”” Then
Exit Do
End If
Loop

などとすればよいと思います。
一度やっちゃうと、元のデータがなくなっちゃうので、
ファイルコピーして試してみてください。

列を変えたいなら、
cells(a,2) =left(strOrg,1)
cells(a,3) =right(strOrg,1)
などとすればよいです。
    • good
    • 1
この回答へのお礼

助かりました

実際に試した所、自分の想像していた通りの結果になりました。本当にありがとうございます!!

お礼日時:2020/05/22 11:06

右左一文字ずつ分けたいなら、


right(Cells(a, 1),1)
left(Cells(a, 1),1)
等を使うとよいと思います。

split関数は、特定の文字で文字列を分けたいときに使います。

a = split("https://oshiete.goo.ne.jp/qa/11654524.html”,".")
などとすると、配列aに
a(0)="https://oshiete
a(1)="goo"
a(2)="ne"
a(3)="jp/qa/11654524"
a(4)="html"
が格納されるって感じになります。
    • good
    • 1
この回答へのお礼

ShowMeHow様、回答ありがとうございます。
Light、leftでも考えてみたのですが、どう言う文でやれば成功するのか分からなくて…

お礼日時:2020/05/22 09:59

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