
아래에서 숫자만 있는 경우 괄호 사이의 데이터를 추출하고 싶습니다.
Nissan - X-Trail 출시(5월)(6월) - SO9158518(65124817) 관광 - Curious 2017(뉴스)(44124469)
답변1
이 사용자 정의 함수를 사용해 보세요:
Public Function parens(t As String) As String
Dim i As Long, L As Long, CH As String
Dim x As String, y As String, temp As String
Dim ary() As String, Kapture As Boolean, a As Variant
Dim j As Long
parens = ""
L = Len(t)
x = "("
y = ")"
Kapture = False
temp = ""
j = 1
For i = 1 To L
CH = Mid(t, i, 1)
If CH = x Then
Kapture = True
temp = ""
ReDim Preserve ary(1 To j)
j = j + 1
ElseIf CH = y Then
ary(UBound(ary)) = temp
Else
If Kapture Then temp = temp & CH
End If
Next i
For Each a In ary
If IsNumeric(a) Then
parens = a
Exit Function
End If
Next a
End Function
숫자 값을 찾을 때까지 괄호 안에 있는 자료를 추출합니다.
사용자 정의 함수(UDF)는 설치 및 사용이 매우 쉽습니다.
- ALT-F11은 VBE 창을 불러옵니다
- ALT-I ALT-M은 새로운 모듈을 엽니다
- 내용을 붙여넣고 VBE 창을 닫습니다.
통합 문서를 저장하면 UDF도 함께 저장됩니다. 2003 이후 Excel 버전을 사용하는 경우 파일을 .xlsx가 아닌 .xlsm으로 저장해야 합니다.
UDF를 제거하려면:
- 위와 같이 VBE 창을 불러옵니다
- 코드를 지워라
- VBE 창을 닫습니다
Excel에서 UDF를 사용하려면:
=parens(A1)
일반적인 매크로에 대해 자세히 알아보려면 다음을 참조하세요.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
그리고
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
UDF에 대한 자세한 내용은 다음을 참조하세요.
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
이 작업을 수행하려면 매크로를 활성화해야 합니다!