VBA에서 문자열 비교

Iqra Hasnain 2024년2월15일
VBA에서 문자열 비교

VBA에서 다른 방법으로 문자열을 비교하는 방법을 소개합니다.

VBA에서 문자열 비교

Excel 시트로 작업하는 동안 문자열을 비교해야 하고 다른 문자열보다 작거나 큰 문자열에 대한 결과를 얻고자 하는 상황이 있습니다. VBA는 두 문자열을 비교하여 숫자 값으로 결과를 얻는 StrComp()로 알려진 이러한 목적을 위한 완벽한 방법을 제공합니다.

비교하는 두 문자열이 모두 같으면 이 메서드는 0을 반환합니다. 첫 번째 문자열이 다른 문자열보다 작으면 -1을 반환 값으로 가져옵니다.

첫 번째 입력 문자열이 다른 문자열보다 크면 결과적으로 1 값을 얻습니다. 사용자 입력 문자열 중 하나가 empty이면 반환 값은 Null이 됩니다.

StrComp() 메서드는 세 가지 비교 방법을 사용하지만 가장 일반적으로 사용되는 것은 두 가지뿐이며 이 두 가지 방법에 대해 설명합니다. 두 문자열의 바이너리를 비교하려면 vbBinaryCompare를 사용할 수 있으며 이 방법은 대소문자를 구분합니다.

두 문자열의 텍스트를 비교하려면 대소문자를 구분하지 않는 vbTextCompare를 사용할 수 있습니다. 예를 들어 두 문자열을 비교하겠습니다.

암호:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World"

compare = StrComp(stringOne, stringTwo)

MsgBox compare

End Sub

출력:

StrComp 메서드를 사용하여 VBA의 문자열 비교

위의 예에서 반환 값으로 0을 얻은 것과 동일한 문자열을 전달했습니다. 다른 값을 전달하고 우리가 얻는 반환 값을 확인합시다.

암호:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World!"

compare = StrComp(stringOne, stringTwo)

MsgBox compare

End Sub

출력:

StrComp 메서드를 사용하여 VBA의 문자열을 비교하고 다른 값 제공

위의 코드에서 두 번째 문자열이 첫 번째 문자열보다 크기 때문에 반환 값으로 -1을 얻은 길이의 다른 문자열을 전달했습니다. StrComp()에서 문자열 비교 방법을 시도하고 동일한 문자열을 사용하지만 대소문자가 다른 vbTextCompare 방법을 사용하는 경우 결과가 어떻게 다른지 확인합니다.

암호:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello WorLd"

compare = StrComp(stringOne, stringTwo, vbTextCompare)

MsgBox compare

End Sub

출력:

StrComp 메서드와 vbTextCompare를 사용하여 VBA의 문자열 비교

이제 하나의 추가 공간을 추가하여 이 예제에서 vbBinaryCompare 메서드를 사용합니다.

암호:

# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello  World"

compare = StrComp(stringOne, stringTwo, vbBinaryCompare)

MsgBox compare

End Sub

출력:

StrComp 메서드와 vbBinaryCompare를 사용하여 VBA에서 문자열 비교

이러한 방식으로 StrComp() 메서드와 vbTextComparevbBinaryCompare와 같은 내장 메서드를 사용하여 길이 또는 텍스트를 기준으로 두 문자열을 비교할 수 있습니다.

관련 문장 - VBA String