Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 함수 Replace 문자열 내 문자 또는 문자열 대체하기

엑셀(Excel)/VBA
반응형

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

 


 

반응형
Posted by 녹두장군1
,