Vba: 문자열을 배열로 분할하는 방법(예제 포함)
다음 기본 구문을 사용하여 VBA를 사용하여 문자열을 배열로 분할할 수 있습니다.
SubSplitString ()
Dim SingleValue() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SingleValue = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SingleValue(j - 1)
Next j
Next i
End Sub
이 특정 예제에서는 각 문자열의 공백을 기준으로 A2:A7 범위의 각 문자열을 나눈 다음 각 문자열의 결과 요소를 셀 범위 B2:B7 및 C2:C7 에 할당합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: VBA를 사용하여 문자열을 배열로 분할
Excel에 다음과 같은 문자열 목록이 있다고 가정합니다.
공백을 기준으로 각 문자열을 분할한 다음 각 문자열의 결과 요소를 새 셀에 할당한다고 가정합니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
B열과 C열에는 A열에 있는 각 전체 이름의 성과 이름이 포함되어 있습니다.
또한 VBA 분할 기능을 사용하여 다른 구분 기호를 기준으로 배열을 분할할 수 있습니다.
예를 들어 다음과 같은 이메일 목록이 있다고 가정해 보겠습니다.
@ 기호가 나타나는 위치에 따라 각 이메일을 배열로 분할한다고 가정해 보겠습니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
SubSplitString ()
Dim SplitValues() As String
Dim i As Integer
Dim j As Integer
For i = 2 To 7
SplitValues = Split(Range(" A " & i), " @ ")
For j = 1 To 2
Cells(i, j + 1).Value = SplitValues(j - 1)
Next j
Next i
End Sub
이 매크로를 실행하면 다음과 같은 출력이 나타납니다.
분할 기능은 @ 기호를 기준으로 A열의 각 이메일을 분할하고 결과 항목을 B열과 C열에 표시합니다.
참고 : VBA 분할 기능에 대한 전체 설명서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 자습서에서는 VBA를 사용하여 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 문자열에서 문자 발생 횟수를 계산하는 방법
VBA:문자열에 다른 문자열이 포함되어 있는지 확인하는 방법
VBA: 특정 텍스트가 포함된 셀 수를 계산하는 방법