프로그래밍

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

📈 19

엑셀이나 기타 다른 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 함수는 생각보다 간단하게, 그리고 자주 사용하게 될 함수이니 잘 숙지 하고 있으면 시간을 많이 아낄 수 있습니다.

참고자료