본문 바로가기

엑셀/VBA

VBA 내장 함수 - Replace 함수

반응형

이전 글에서 Is 함수와 Len 함수에 대해 알아보았습니다. 이번에는 Replace 함수에 대해 알아보겠습니다. 

 

VBA 내장 함수 - Is 함수, Len 함수

 

VBA 내장 함수 - Is 함수, Len 함수

이전 글에서 InStr 함수와 InStrRev 함수에 대해 알아보았습니다. 이번에는 Is 함수와 Len 함수에 대해 알아보겠습니다. VBA 내장 함수 - InStr, InStrRev VBA 내장 함수 - InStr, InStrRev 이전 글에서 Left, Mid..

mr-johndoe.tistory.com

 

 

 

 

 

1. Replace 함수

 Replace 함수는 문자열에서 특정 문자나 단어 등을 지정한 문자나 단어 등으로 변경해주는 함수입니다.

VBA 내장 함수로서 메서드 형식의 Replace도 있습니다.

 

VBA 내장 함수의 Replace 함수 사용 방법은 다음과 같습니다.

 

  Replace ( 대상 문자열, 찾을 문자, 변경할 문자, 시작 위치, 몇 번째 찾은 문자까지 바꿀지 입력, 비교 방법 )

 

Replace 함수는 대상 문자열에서 찾을 문자를 찾아 변경할 문자로 변경하여 줍니다. 

 

시작 위치는 생략가능하며 생략하면 대상 문자열의 처음부터 찾습니다.

 

몇 번째 찾은 문자까지 바꿀지 입력대상 문자열에서 찾을 문자가 여러 개가 있을 때 몇 번째 찾은 문자까지 바꿀지를 입력합니다. 가령, 2라고 입력하면 첫 번째와 두 번째 찾은 문자만 변경할 문자로 변경됩니다.

 

비교 방법은 이전 글 Instr 함수 설명때 내용과 동일합니다. 아래 링크의 이전글을 참조하시기 바랍니다.

 

VBA 내장 함수 - InStr, InStrRev

 

VBA 내장 함수 - InStr, InStrRev

이전 글에서 Left, Mid, Right 함수에 대해 알아보았으며 엑셀 함수와 VBA 함수의 차이에 대해서도 함께 알아보았습니다. 이번에는 InStr 함수와 InStrRev 함수에 대해 알아보겠습니다. VBA 내장 함수 - Left

mr-johndoe.tistory.com

 

 

 

 

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'은 그대로 있는 것을 보실 수 있습니다. 

 

 

 

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

반응형