엑셀 매크로: 슬래시로 구분된 셀 데이터 열로 변환
문제
한 셀에 슬래쉬(/)로 구분된 데이터가 많이 있는데, 이를 각각 하나의 열 데이터로 분리해서 저장하고 싶다. 예를 들어, “사과/배/바나나” 라는 데이터가 있는 경우, 이를 “사과”, “배”, “바나나”로 각각 분리해서 열 데이터로 저장하고 싶은 것이다.
해결책
위와 같은 문제를 해결할 수 있는 매크로를 소개한다. 다음 매크로를 사용하여 이 문제를 해결할 수 있다.
Sub SplitSlashData()
Dim cell As Range
Dim arr() As String
Dim i As Integer, j As Integer
For Each cell In Selection
If InStr(cell.Value, "/") > 0 Then
arr = Split(cell.Value, "/")
For i = LBound(arr) To UBound(arr)
cell.Offset(0, i) = arr(i)
Next i
For j = UBound(arr) + 1 To 255
cell.Offset(0, j).ClearContents
Next j
End If
Next cell
End Sub
위의 매크로를 실행하면 선택한 범위 내에서 슬래쉬(/)로 구분된 데이터가 각각 하나의 열 데이터로 분리되어 저장된다. 예를 들어, “사과/배/바나나” 라는 데이터가 있는 경우, 이를 “사과”, “배”, “바나나”로 각각 분리해서 열 데이터로 저장할 수 있다.
사용 방법
- 엑셀 파일을 열고, 슬래쉬(/)로 구분된 데이터가 들어있는 셀 범위를 선택한다.
- “Alt + F8″을 눌러 매크로 창을 열고, “SplitSlashData” 매크로를 선택한다.
- “실행” 버튼을 클릭하여 매크로를 실행한다.
- 슬래쉬(/)로 구분된 데이터가 각각 하나의 열 데이터로 분리되어 저장된다.
위의 매크로는 선택한 범위 내에서만 작동하며, 선택한 범위 이외의 셀에는 영향을 미치지 않는다. 또한, 선택한 셀 내에서 슬래쉬(/)로 구분된 데이터가 없는 경우에는 아무런 변화도 일어나지 않는다.
이렇게 매크로를 활용하면 대량의 데이터를 빠르게 처리할 수 있으며, 반복적인 작업에서 발생하는 실수를 줄일 수 있다.