'선택영역의 셀 값중 괄호안 숫자가 있는 경우 숫자만 추출하는 VBA코드임
Sub 괄호안숫자추출()
Dim 선택셀 As Range
Dim 대상셀 As Range
Dim 원본값 As String
Dim 추출된값 As String
Dim 시작위치 As Integer
Dim 종료위치 As Integer
' 선택한 셀 가져오기
On Error Resume Next
Set 선택셀 = Selection
On Error GoTo 0
' 선택한 셀이 없는 경우 메시지 표시 후 종료
If 선택셀 Is Nothing Then
MsgBox "셀을 선택해주세요.", vbExclamation
Exit Sub
End If
' 각 선택한 셀에 대해 반복
For Each 대상셀 In 선택셀
' 원본값 가져오기
원본값 = 대상셀.Value
' 괄호 위치 찾기
시작위치 = InStr(원본값, "(")
종료위치 = InStr(원본값, ")")
' 괄호가 없는 경우 다음 셀로 이동
If 시작위치 = 0 Or 종료위치 = 0 Then
GoTo 다음셀
End If
' 괄호 안의 숫자 추출
추출된값 = Mid(원본값, 시작위치 + 1, 종료위치 - 시작위치 - 1)
' 추출된 값을 숫자로 변환하여 오른쪽 셀에 입력
On Error Resume Next
대상셀.Offset(0, 1).Value = CDbl(추출된값) '숫자인 경우 double형으로 반환되고 나머지는 반환값없음
'대상셀.Offset(0, 1).Value = 추출된값 '추출된 모든 값을 반환
On Error GoTo 0
다음셀:
Next 대상셀
' 완료 메시지 표시
MsgBox "추출 및 입력이 완료되었습니다.", vbInformation
End Sub
'엑셀 > vba' 카테고리의 다른 글
하위 폴더 포함하여 파일 이름 랜덤 변경 (0) | 2023.11.09 |
---|---|
상대계좌별로 출금 입금 집계하기 with chatgpt (0) | 2023.07.05 |
열린 모든 통합문서 이름 리스트 박스에 추가하기 (0) | 2023.06.14 |
통합문서의 각 시트 값 복사하기 (0) | 2023.06.13 |
셀 값이 배열에 있는지 비교 chatgpt (0) | 2023.04.10 |