[VBA] 글자 치환하기 feat. Replace

엑셀이나 기타 다른 MS 오피스 프로그램의 VBA 에서 특정 텍스트를 변경, 치환하기 위해서는 Replace 함수를 이용하면 됩니다.

Replace 함수

Replace 함수의 기본적인 사용 방법은 아래와 같습니다.

Replace(expression, find, replace, [start], [count], [compare])

인수로 사용되는 각 항목들은 아래와 같은 의미를 가집니다.

  • expression = 변경할 문자열이 들어가 있는 대상 문자열
  • find = 변경 대상 문자열
  • replace = 변경할 문자열
  • start = 변경을 적용할 시작 위치
  • count = 변경을 실행할 횟수
  • compare = 변경 대상을 찾는 방식

조금 쉽게 이야기 하자면, Replace 함수는 문자열 expression 에서 find 를 찾아내 replace 로 바꿔주는 것입니다.

start 에 값을 넣으면 expression 문자열의 start 번째 문자부터 검색을 시작합니다.

count 에 값을 넣으면 앞에서 부터 count 번째 까지의 findreplace 로 치환을 실시 하고, 나머지 find 는 그대로 둡니다.

comparefind 를 찾기 위한 비교 방식인데, 잘 사용하지 않으므로 무시해도 됩니다. 굳이 궁금하다면 이 링크를 참고해주세요.

expression, find, replace 는 필수로 넣어주어야 하는 항목이며, start, count, compare 는 넣지 않아도 함수가 잘 작동하는 선택 항목입니다.

예제

사실 말이 좀 복잡해서 그렇지 예제를 보면 금방 이해가 갑니다.

Dim Original as String
Dim Result as String

Original = "2022-02-10"
Result = Replace(Original, "-", ".")

위 예제를 보시면 Original 이라는 변수에 2022-02-10 이라는 텍스트가 들어 있는데, 여기서 하이픈(-)을 점(.)으로 바꿔서 Result 라는 변수에 담도록 하는 것입니다. 당연히 프로시저가 실행되고 나면 Result 에는 2022.02.10 이라는 값이 들어가 있겠네요.

Replace 함수는 생각보다 간단하게, 그리고 자주 사용하게 될 함수이니 잘 숙지 하고 있으면 시간을 많이 아낄 수 있습니다.

참고자료