VBA Function

Right 함수

노만e 2025. 3. 16. 17:36

엑셀 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를 활용하면 문자열의 끝부분을 쉽게 추출할 수 있습니다! 🚀