VBA 문자열 비교 – StrComp

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Younjung Kim

Last updated on 3월 27, 2023

VBA에서는 StrComp 함수를 사용하여 두 문자열을 비교할 수 있습니다. 이 튜토리얼에서는 이 함수를 사용하여 여러가지 케이스에 대해 비교하는 방법을 배웁니다.

VBA like 연산자를 사용하여 정확하지 않은 일치 항목을 비교하는 방법을 배우려면 여기를 클릭하세요: VBA Like Operator.

비교 연산자를 사용하는 방법을 배우려면 여기를 클릭하세요:  VBA 비교 연산자 – 같지 않음 등

 

StrComp 함수를 사용하여 두 문자열 비교하기

StrComp 함수는 두 개의 문자열과 비교 방법을 인수로 받습니다. 비교 방법에는 3가지가 있습니다:

  • vbBinaryCompare – 두 문자열을 이진(대소문자 구분)으로 비교합니다;
  • vbTextCompare – 두 문자열을 텍스트로 비교합니다(대소문자 구분 없음);
  • vbDatabaseCompare – 이 옵션은 Microsoft Access에서만 사용할 수 있습니다.

기본값으로 이 함수는 vbBinaryCompare를 사용합니다. 매개변수를 생략하면 함수는 대소문자를 구분합니다.

이 함수는 다음과 같은 결과를 반환합니다:

  • 0 – 문자열이 동일한 경우;
  • -1 – 문자열 1이 문자열 2보다 작은 경우;
  • 1 – 문자열 1이 문자열 2보다 큰 경우;
  • Null – 문자열 중 하나가 비어 있는 경우.

다음은 예제 코드입니다:

Dim intResult As Integer

intResult = StrComp("Computer", "Computer")

이 예제에서는 기본 비교 방법(vbBinaryCompare)을 사용하여 문자열 “Computer”“Computer”가 동일한지 확인하려고 합니다. 함수의 결과는 intResult 변수에 있습니다. 이미지1에서 볼 수 있듯이 두 문자열은 모두 동일하므로 intResult의 값은 0입니다.

이미지 1. VBA에서 vbBinaryCompare로 StrComp 함수 사용하기

 

StrComp 함수 사용하기(vbBinaryCompare & vbTextCompare)

vbBinaryCompare 와 vbTextCompare 사용의 차이점은 다음과 같습니다. vbBinaryCompare 는 각 문자에 대해 이진 번호가 있으므로, 이 방법을 사용하면 대문자와 소문자가 다른 문자입니다. 반면에 vbTextCompare 는 “S”와 “s”를 같은 문자로 간주합니다. 함수를 대소문자를 구분하지 않게 만들려면 세 번째 인수를 vbTextCompare 로 설정해야 합니다. 다음은 코드를 참고해 주세요:

Dim intResult1 As Integer
Dim intResult2 As Integer  

intResult1 = StrComp("Computer", "CompuTer")

intResult2 = StrComp("Computer", "CompuTer", vbTextCompare)

두가지 옵션을 사용하여 문자열 “Computer”와 “CompuTer”를 비교하려고 합니다.

intResult1 변수에서는 vbBinaryCompare 를 사용하여 값을 얻고, intResult2 변수에서는 vbTextCompare 를 사용하여 값을 얻습니다. 이 두 변수의 값을 확인할 수 있습니다:

Image 2. vbBinaryCompare와 vbTextCompare 옵션으로 StrComp 함수 사용하기

 

intResult1의 값은 1이며, 이는 vbBinaryCompare 를 사용했을 경우 두 문자열이 다르다는 것을 의미합니다. vbTextCompare  의 경우 이 두 문자열은 동일하므로 intResult2의 값은 0입니다.

vba-free-addin

VBA 코드 예시 추가 기능

본 웹사이트에 있는 모든 코드 예시에 쉽게 접근해보세요.

메뉴로 이동하여 클릭만 하면 코드는 모듈에 바로 입력됩니다. .xlam 추가 기능.

(설치가 필요 없습니다!)

무료 다운로드

VBA 코드 예시로 돌아가기