解決済みの質問
Sub try()
Dim v, w
Dim st1 As String, st2 As String
st1 = "○○○/△△△/×××_◇◇◇"
st2 = "○○○/△△△/×××_◇◇◇"
v = Split(Replace(Replace(Replace(st1, "_", " "), "_", " "), "/", " "))
w = Split(Replace(Replace(Replace(st2, "_", " "), "_", " "), "/", " "))
MsgBox st1 & vbLf & v(0) & vbLf & v(1) & vbLf & v(3)
MsgBox st2 & vbLf & w(0) & vbLf & w(1) & vbLf & w(3)
End Sub
basyo1 = v(0)
basyo2 = v(1)
basyo3 = v(2)
とか?
投稿日時 - 2009-04-09 21:15:44
0人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(2件中 1~2件目)
こんな感じでしょうか。
_と_を/に置換し、SPLIT関数で「/」を区切り文字として分割しています。例はfunctionにしましたので、選択したセルを引数として渡してやってください。
Function fSample(rng As Range)
Dim basyo() As String
Dim sdata As String
sdata = Replace(Replace(rng.Text, "_", "/"), "_", "/")
basyo() = Split(sdata, "/")
basyo1 = basyo(0)
basyo2 = basyo(1)
basyo3 = basyo(3)
End Function
投稿日時 - 2009-04-10 15:53:54
セルA1に対象データが入力されており、
結果をセルB1,B2,B3に表示するものとして、マクロを書きます。
Dim A,B,C
Dim AA,BB
AA= Application.WorksheetFunction.Asc(A1)
BB=Replace(AA,"/","")
A=Len(AA)-Len(BB)
For B=1 To A
C=Instr(BB,"/")
Cells(B,2)=Left(AA,C-1)
AA=Right(AA,Len(AA)-C)
Next B
C=Instr(BB,"_")
CeLLS(A+1,2)=Right(AA,Len(AA)-C)
投稿日時 - 2009-04-10 09:33:11
OKWaveのオススメ
おすすめリンク