이전 글에서 Is 함수와 Len 함수에 대해 알아보았습니다. 이번에는 Replace 함수에 대해 알아보겠습니다.
1. Replace 함수
Replace 함수는 문자열에서 특정 문자나 단어 등을 지정한 문자나 단어 등으로 변경해주는 함수입니다.
VBA 내장 함수로서 메서드 형식의 Replace도 있습니다.
VBA 내장 함수의 Replace 함수 사용 방법은 다음과 같습니다.
Replace ( 대상 문자열, 찾을 문자, 변경할 문자, 시작 위치, 몇 번째 찾은 문자까지 바꿀지 입력, 비교 방법 )
Replace 함수는 대상 문자열에서 찾을 문자를 찾아 변경할 문자로 변경하여 줍니다.
시작 위치는 생략가능하며 생략하면 대상 문자열의 처음부터 찾습니다.
몇 번째 찾은 문자까지 바꿀지 입력은 대상 문자열에서 찾을 문자가 여러 개가 있을 때 몇 번째 찾은 문자까지 바꿀지를 입력합니다. 가령, 2라고 입력하면 첫 번째와 두 번째 찾은 문자만 변경할 문자로 변경됩니다.
비교 방법은 이전 글 Instr 함수 설명때 내용과 동일합니다. 아래 링크의 이전글을 참조하시기 바랍니다.
2. 예제로 확인하기
엑셀을 여시고 엑셀 시트 B2 셀에 '엑셀2016 엑셀2016 엑셀2016 엑셀2016'을 입력합니다.
VBE 창을 열고 Module를 생성합니다.
Module 코드 창에서 다음과 같이 코딩합니다.
Public Sub 문자변경()
Dim s As String
s = Range("B2").Value
Range("B4").Value = Replace(s, "2016", "2021")
Range("B5").Value = Replace(s, "2016", "2021", , 2)
End Sub
코드를 실행하면 B4 셀에는 '엑셀2021 엑셀2021 엑셀2021 엑셀2021'와 같이 출력되고,
B5 셀에는 '엑셀2021 엑셀2021 엑셀2016 엑셀2016'와 같이 출력되는 것을 보실 수 있습니다.
B4 셀 결과를 보시면 B2 셀에 입력한 문자열의 '2016' 모두 '2021'로 변경된 것을 보실 수 있습니다.
B5 셀 결과를 보시면 첫 번째와 두 번째 '2016'이 '2021'로 변경되었고 그 이후의 '2016'은 그대로 있는 것을 보실 수 있습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue (0) | 2021.10.05 |
---|---|
VBA 내장 함수 - Val 함수, Str 함수 (0) | 2021.10.04 |
VBA 내장 함수 - Is 함수, Len 함수 (0) | 2021.10.04 |
VBA 내장 함수 - InStr, InStrRev (0) | 2021.09.30 |
VBA 내장 함수 - Left, Mid, Right 함수 (0) | 2021.09.30 |