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 ")
Discussion
New Comments
No comments yet. Be the first one!