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
출력:
위의 예에서 반환 값으로 0
을 얻은 것과 동일한 문자열을 전달했습니다. 다른 값을 전달하고 우리가 얻는 반환 값을 확인합시다.
암호:
# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World!"
compare = StrComp(stringOne, stringTwo)
MsgBox compare
End Sub
출력:
위의 코드에서 두 번째 문자열이 첫 번째 문자열보다 크기 때문에 반환 값으로 -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
출력:
이제 하나의 추가 공간을 추가하여 이 예제에서 vbBinaryCompare
메서드를 사용합니다.
암호:
# VBA
Sub test()
Dim compare As Integer
stringOne = "Hello World"
stringTwo = "Hello World"
compare = StrComp(stringOne, stringTwo, vbBinaryCompare)
MsgBox compare
End Sub
출력:
이러한 방식으로 StrComp()
메서드와 vbTextCompare
및 vbBinaryCompare
와 같은 내장 메서드를 사용하여 길이 또는 텍스트를 기준으로 두 문자열을 비교할 수 있습니다.