EXCEL超初心者マクロ(8)- 分割(Split)-
今回は分割の説明とサンプルを紹介いたします。
電話番号を分割したいときってありますよね。
splitを使うと簡単に分割できます
ただ、電話番号のように、同じ場所にハイフンが入ってるデータは簡単ですが、数が違う場合は少し工夫が必要です。
1.電話番号分割
※出力先を文字列にしておきましょう。マクロでやってもいいですね。
2.最終の文字 & 分割
A>B>C>D>E>F>G A>B>C>D>E>F A>B>C>D>E A>B>C>D A>B>C A>B A
1.電話番号分割
Dim set_data01 As Object
Dim VWORK01 As Variant
Set set_data01 = Worksheets("INPUT1").Range("A2") '### 最初の行
Do Until set_data01.Offset(0, 0).Value = ""
VWORK01 = Split(set_data01.Offset(0, 0).Value, "-") 'TEL
set_data01.Offset(0, 1).Value = VWORK01(0)
set_data01.Offset(0, 2).Value = VWORK01(1)
set_data01.Offset(0, 3).Value = VWORK01(2)
Set set_data01 = set_data01.Offset(1, 0) '### 次の行
Loop
Sheets("INPUT1").Select
MsgBox (" 処理END ")
2.最終の文字
Dim set_data01 As Object
Dim VWORK01 As Variant
Dim MAX_INSTR As Long
Dim CNT01 As Long
Dim CNT02 As Long
Dim CNT03 As Long
Set set_data01 = Worksheets("INPUT2").Range("A2") '### 最初の行
Do Until set_data01.Offset(0, 0).Value = ""
VWORK01 = Split(set_data01.Offset(0, 0).Value, ">") '### 分割
CNT01 = UBound(VWORK01) '### 分割数
CNT03 = 1
For CNT02 = 0 To CNT01 '### CNT02を0から分割数まで回します。
set_data01.Offset(0, 1).Value = VWORK01(CNT02) '### 同じところに入れ続ける
set_data01.Offset(0, CNT03 + 2).Value = VWORK01(CNT02) '### 1個づつ右にずらす
CNT03 = CNT03 + 1
Next CNT02
Set set_data01 = set_data01.Offset(1, 0) '### 次の行
Loop
Sheets("INPUT2").Select
MsgBox (" 処理END ")










ディスカッション
コメント一覧
まだ、コメントがありません