【VBA】セル内のデータを分割して、複数のセルに設定する

以下のようなセル内のデータを、

複数のセルに分割(実行前)
複数のセルに分割(実行前)

以下のように分割して、
複数のセルに設定できます!

複数のセルに分割(実行後)
複数のセルに分割(実行後)
PR

「,(カンマ)」で分割して、複数のセルに設定する

ここでは例として、
 ・シート「sample」のセル「B2」のデータを
 ・「,(カンマ)」区切りで分割して
 ・複数のセルに設定
します。

複数のセルに分割(実行前)
複数のセルに分割(実行前)
Option Explicit

Sub sample()
    
    Dim srcRange As Range
    Dim destRange As Range
    
    '分割したいデータが設定されているセルを指定
    Set srcRange = Worksheets("sample").Range("B2")
    '分割後のデータの設定を開始するセルを指定
    Set destRange = Worksheets("sample").Range("B2")
    
    '「,(カンマ)」で分割
    srcRange.TextToColumns Destination:=destRange, comma:=True
    
End Sub

「Rangeオブジェクト」の「TextToColumns」メソッドによって、セル内のデータを分割して複数のセルに設定できます。

「Destination:=」に「分割後のデータの設定を開始するセル」を指定します。

「comma:=True」によって、「カンマ区切り」で分割されます。


上記を実行すると、「,(カンマ)」で分割して複数のセルに設定されます。

複数のセルに分割(実行後)
複数のセルに分割(実行後)
PR

「スペース」で分割して、複数のセルに設定する

ここでは例として、
 ・シート「sample」のセル「B2」のデータを
 ・「スペース」区切りで分割して
 ・複数のセルに設定
します。

複数のセルに分割(実行前)
複数のセルに分割(実行前)
Option Explicit

Sub sample()
    
    Dim srcRange As Range
    Dim destRange As Range
    
    '分割したいデータが設定されているセルを指定
    Set srcRange = Worksheets("sample").Range("B2")
    '分割後のデータの設定を開始するセルを指定
    Set destRange = Worksheets("sample").Range("B2")
    
    '「スペース」で分割
    srcRange.TextToColumns Destination:=destRange, Space:=True
    
End Sub

「Space:=True」によって、「スペース区切り」で分割されます。


上記を実行すると、「スペース」で分割して複数のセルに設定されます。

複数のセルに分割(実行後)
複数のセルに分割(実行後)
PR

上記以外で分割するには

以下のオプションを指定することで、「,(カンマ)」や「スペース」以外の文字でデータを分割することができます。
・Other
・Otherchar

詳細は公式サイトをご確認ください。