엑셀 VBA에서 Right 함수는 문자열의 오른쪽에서 지정한 개수만큼 문자를 가져오는 함수입니다.
즉, 텍스트에서 끝부분을 추출할 때 유용합니다.
1. 기본 문법
Right(문자열, 개수)
|
- 문자열 → 원본 문자열
- 개수 → 오른쪽에서 가져올 문자 개수
📌 오른쪽 끝에서부터 개수만큼의 문자만 반환
📌 개수가 문자열 길이보다 크면 전체 문자열 반환
2. 기본 사용 예제
Sub 기본_Right()
Dim 결과 As String
결과 = Right("안녕하세요 VBA!", 4)
MsgBox 결과
End Sub
|
📌 출력: " VBA!"
📌 오른쪽에서 4글자 가져오기
3. 이름에서 이름만 추출
Sub 이름_추출()
Dim 이름 As String, 결과 As String
이름 = "홍길동"
결과 = Right(이름, 2)
MsgBox 결과
End Sub
|
📌 출력: "길동"
📌 오른쪽 2글자 가져오기
4. 전화번호 끝자리 추출
Sub 전화번호_끝자리()
Dim 번호 As String
번호 = "010-1234-5678"
MsgBox Right(번호, 4)
End Sub
|
📌 출력: "5678"
📌 오른쪽에서 4글자 가져오기
5. 셀 값에서 오른쪽 일부 추출
Sub 셀_Right()
Dim 셀값 As String
셀값 = Range("A1").Value
Range("B1").Value = Right(셀값, 5)
End Sub
|
📌 A1 셀 값에서 마지막 5글자를 추출하여 B1에 저장
📌 "Excel VBA Function" → "ction"
6. 여러 개의 셀에서 오른쪽 부분 추출
Sub 여러셀_Right()
Dim rng As Range, cell As Range
Set rng = Range("A1:A10")
For Each cell In rng
If Not IsEmpty(cell.Value) Then
cell.Offset(0, 1).Value = Right(cell.Value, 3)
End If
Next cell
End Sub
|
📌 A1:A10에서 마지막 3글자를 B1:B10에 저장
📌 "서울특별시 강남구" → "남구"
7. 이메일에서 도메인 확장자만 추출
Sub 이메일_확장자()
Dim 이메일 As String, 확장자 As String
이메일 = "example@gmail.com"
확장자 = Right(이메일, 4)
MsgBox "이메일 확장자: " & 확장자
End Sub
|
📌 출력: ".com"
📌 이메일 주소의 끝 4글자 가져오기
8. 파일 확장자만 추출
Sub 파일확장자_추출()
Dim 파일명 As String, 확장자 As String
파일명 = "report.xlsx"
확장자 = Right(파일명, 4)
MsgBox "파일 확장자: " & 확장자
End Sub
|
📌 출력: ".xlsx"
📌 파일명에서 확장자만 가져오기
9. 파일 경로에서 파일명만 추출
Sub 파일명_추출()
Dim 경로 As String, 위치 As Integer, 파일명 As String
경로 = "C:\Users\하임\Documents\보고서.xlsx"
위치 = InStrRev(경로, "\") + 1 ' 마지막 "\" 다음 위치
파일명 = Right(경로, Len(경로) - 위치 + 1)
MsgBox "파일명: " & 파일명
End Sub
|
📌 출력: "보고서.xlsx"
📌 경로에서 파일명만 가져오기 (InStrRev 활용)
10. 전화번호 끝 4자리만 표시하고 나머지는 * 처리
Sub 전화번호_마스킹()
Dim 원본 As String, 결과 As String
원본 = "010-1234-5678"
결과 = "****-****-" & Right(원본, 4)
MsgBox 결과
End Sub
|
📌 출력: "****-****-5678"
📌 끝 4자리는 유지하고 나머지는 * 처리
11. 특정 단어 뒤 내용 가져오기
Sub 특정단어_뒤()
Dim 문장 As String, 위치 As Integer, 결과 As String
문장 = "제품명: 아이폰 13 Pro"
위치 = InStr(1, 문장, ":") + 2 ' ":" 다음 위치
결과 = Right(문장, Len(문장) - 위치 + 1)
MsgBox 결과
End Sub
|
📌 출력: "아이폰 13 Pro"
📌 : 뒤의 내용만 가져오기
📝 정리
기능
|
VBA 코드
|
오른쪽 4글자 가져오기
|
Right("안녕하세요 VBA!", 4)
|
이름에서 이름만 추출
|
Right("홍길동", 2)
|
전화번호 끝자리 추출
|
Right("010-1234-5678", 4)
|
셀 값에서 오른쪽 부분 추출
|
Right(Range("A1").Value, 5)
|
이메일에서 도메인 확장자 추출
|
Right("example@gmail.com", 4)
|
파일 확장자 추출
|
Right("report.xlsx", 4)
|
파일 경로에서 파일명만 추출
|
Right(경로, Len(경로) - InStrRev(경로, "\") + 1)
|
전화번호 끝 4자리만 보이게 마스킹
|
"****-****-" & Right(번호, 4)
|
특정 단어 뒤 내용만 가져오기
|
Right(문장, Len(문장) - InStr(문장, ":") - 1)
|
🔥 VBA의 Right를 활용하면 문자열의 끝부분을 쉽게 추출할 수 있습니다! 🚀