VBA에서 Replace 함수는 문자열에서 지정된 부분 문자열을 다른 문자열로 대체하는 데 사용되는 함수입니다. 이를 통해 문자열의 특정 패턴을 수정하거나 변경할 수 있습니다. 또한 문자열 내에서 특정 패턴을 찾아 바꿀 수 있으며, 데이터 처리나 포맷에 유용합니다. 아래에서 [Replace] 함수의 개념, 구문, 예제, 실행 결과 및 소스 설명을 설명하겠습니다.
◎ 구문 |
Replace(Expression, Find, ReplaceWith, [Start], [Count], [Compare])
l [Expression]: 원본 문자열 또는 표현식입니다.
l [Find]: 대체할 문자열을 찾기 위한 문자열입니다.
l [ReplaceWith]: 찾은 문자열을 대체할 문자열입니다.
l [Start]: 선택적 매개변수로, 대체 작업을 시작할 위치를 나타내는 정수입니다. 기본값은 1입니다.
l [Count]: 선택적 매개변수로, 대체할 횟수를 제한하는 정수입니다. 기본값은 -1로, 모든 발견된 경우를 대체합니다.
l [Compare]: 선택적 매개변수로, 대/소문자를 구분할지 여부를 나타내는 VbCompareMethod 상수입니다. 기본값은 vbBinaryCompare로 대/소문자를 구분합니다.
◎ 예제 1: 문자열 내 특정 패턴 대체 |
예제에서는 원본 문자열에서 "red"를 찾아 "green"으로 대체합니다. [Replace] 함수를 사용하여 문자열 내에서 "red"를 "green"으로 대체하고 수정된 문자열을 표시합니다.
Sub ReplaceSubstring()
Dim originalString As String
originalString = "Apples are red, bananas are yellow."
Dim modifiedString As String
modifiedString = Replace(originalString, "red", "green")
MsgBox "원본 문자열: " & originalString & vbCrLf & "수정된 문자열: " & modifiedString, vbInformation, "문자열 대체"
End Sub
◎ 예제 2: 대소문자 구분하지 않는 대체 |
예제에서는 대소문자를 구분하지 않고 "red"를 "green"으로 대체합니다. [Replace] 함수의 [Compare] 매개변수를 “vbTextCompare”로 설정하여 대소문자를 구분하지 않고 대체 작업을 수행합니다.
Sub ReplaceCaseInsensitive()
Dim originalString As String
originalString = "ApPles are red, bananas are yelLow."
Dim modifiedString As String
modifiedString = Replace(originalString, "red", "green", , , vbTextCompare)
MsgBox "원본 문자열: " & originalString & vbCrLf & "수정된 문자열: " & modifiedString, vbInformation, "대소문자 구분 안 함"
End Sub
◎ 예제 3: 대체 횟수 제한 |
예제에서는 "Replace"를 최대 2번까지 "Substitute"로 대체합니다. [Replace] 함수의 [Count] 매개변수를 2로 설정하여 최대 2번까지만 대체 작업을 수행합니다.
Sub ReplaceLimitedCount()
Dim originalString As String
originalString = "Replace this text. Replace this text. Replace this text."
Dim modifiedString As String
modifiedString = Replace(originalString, "Replace", "Substitute", , 2)
MsgBox "원본 문자열: " & originalString & vbCrLf & "수정된 문자열: " & modifiedString, vbInformation, "대체 횟수 제한"
End Sub
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 워크시트(Worksheet) 개체를 이용해서 시트 관리하기 (1) | 2023.12.17 |
---|---|
엑셀 VBA 날짜 차이를 계산하는 DateDiff 함수 사용하기 (0) | 2023.12.09 |
엑셀 VBA 텍스트 내용을 읽어 와서 시트에 분리해서 넣는 방법 (3) | 2023.11.30 |
엑셀 VBA 함수 Time 사용해서 현재 시간 표시하기 (0) | 2023.11.28 |
엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 (1) | 2023.11.26 |
엑셀 VBA 시트 행, 열 선택할 때 Columns, Rows, EntireColumn, EntireRow 사용 (0) | 2023.11.26 |
엑셀 VBA 오름차순, 내림차순 데이터 정렬하기 (0) | 2023.11.24 |
엑셀 VBA 함수 StrComp 문자열 비교하기 (0) | 2023.11.24 |