Microsoft Excel VBA에서 셀이 비어 있는지 확인하는 다양한 방법

Bilal Shahid 2023년6월21일
  1. 셀이 비어 있는지 확인하는 방법
  2. 방법 1: IsEmpty 함수
  3. 방법 2: vbNullString과 비교
  4. 방법 3: 빈 문자열과 비교
  5. 방법 4: Len 함수
  6. 방법 5: CountCounta 기능
  7. 방법 6: IsNull 기능
  8. 결론
Microsoft Excel VBA에서 셀이 비어 있는지 확인하는 다양한 방법

VBA는 사용자에게 다양한 기능과 기능을 제공하는 Microsoft Excel 응용 프로그램용 프로그래밍 언어입니다. 이번 글에서는 셀이 비어있는지 확인하는 방법에 대해 알아보겠습니다.

셀이 비어 있는지 확인하는 방법

MS Excel에서 셀은 행과 열의 교차점으로 식별되는 블록이며 행 번호와 열 문자를 식별자로 사용합니다. 이러한 셀은 다양한 유형의 데이터를 보유할 수 있습니다.

그러나 데이터가 없는 셀을 가리키는 빈 셀도 있을 수 있습니다.

MS Excel에서는 셀에 데이터가 포함되어 있는지 여부를 확인해야 하는 상황이 많이 있을 수 있습니다. 이를 지원하기 위해 MS Excel VBA는 셀이 비어 있는지 확인하는 여러 가지 방법을 제공합니다.

이러한 방법은 이해를 돕기 위해 VBA 코드 예제와 함께 아래에 자세히 설명되어 있습니다.

방법 1: IsEmpty 함수

Excel VBA의 IsEmpty 함수는 부울 값을 반환하는 기본 제공 함수입니다. 이 함수는 변수가 초기화되지 않았는지 확인하기 위해 셀과 함께 사용할 수도 있습니다.

다음과 같은 구문이 있습니다.

IsEmpty(value)

여기서 은 확인하려는 셀 또는 변수입니다.

셀이 비어 있거나 변수가 초기화되지 않은 경우 이 함수는 True를 반환합니다. 그렇지 않으면 False를 반환합니다.

참고: 워크시트 셀의 값이 비어 있는지 확인하려면 수식 입력줄에서 IsBlank(값) 워크시트 함수를 사용할 수도 있습니다. 그러나 VBA에서 IsEmpty 기능의 대안으로 IsBlank 기능을 사용할 수 없습니다.

아래 코드를 사용하여 몇 가지 간단한 셀에서 IsEmpty 기능을 테스트해 보겠습니다. 다음 예제에서도 동일한 두 개의 셀을 사용할 것입니다.

셀이 비어 있지 않음

Sub ExampleIsEmpty()

If IsEmpty(Range("A1")) = True Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If IsEmpty(Range("A2").Value) = True Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

이 코드를 실행하면 메시지 상자에 다음과 같은 결과가 표시됩니다.

셀 A1이 비어 있지 않음

셀 A2가 비어 있음

IsEmpty(Range("A1"))IsEmpty(Range("A2").Value)를 어떻게 사용했는지 확인하십시오. 둘 다 잘 작동합니다.

방법 2: vbNullString과 비교

셀에 값이 포함되어 있지 않은지 확인하려면 vbNullString과 비교할 수도 있습니다. vbNullString은 문자열에 대한 Null 값을 보유하는 상수입니다.

비교 결과 셀의 값이 vbNullString과 같으면 셀이 비어 있다고 결론을 내릴 수 있습니다.

다음 코드는 vbNullString 상수를 사용하여 빈 셀을 확인하는 방법을 보여줍니다.

Sub ExamplevbNullString()

If Range("A1").Value = vbNullString Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Range("A2").Value = vbNullString Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

다시 출력에서 다음 메시지 상자가 표시되는 것을 볼 수 있습니다.

셀 A1이 비어 있지 않음

셀 A2가 비어 있음

참고: 이 방법은 셀에 값이 없지만 #N/A!와 같은 오류가 포함된 경우에는 작동하지 않습니다. 따라서 IsEmpty 기능을 사용하는 것이 더 안전합니다.

방법 3: 빈 문자열과 비교

유사한 방법은 셀에 있는 값을 코드에서 ""로 정의된 빈 문자열과 비교하는 것입니다. 비교에서 True를 반환하면 셀이 비어 있고 그렇지 않으면 비어 있지 않습니다.

다음은 ""과의 비교를 사용하여 셀이 비어 있는지 확인하는 예입니다.

Sub ExampleEmptyString()

If Range("A1").Value = "" Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Range("A2").Value = "" Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

출력은 다음과 같습니다.

셀 A1이 비어 있지 않음

셀 A2가 비어 있음

방법 4: Len 함수

셀이 비어 있는지 확인하기 위해 거기에 있는 데이터의 길이를 계산하고 0과 같은지 비교할 수도 있습니다.

길이가 0이면 셀이 비어 있다고 말할 수 있으며 데이터가 없음을 의미합니다. 그렇지 않으면 셀이 비어 있지 않다고 말합니다.

VBA 내장 Len 기능을 사용하여 데이터 길이를 계산합니다. 다음과 같은 구문이 있습니다.

Len(value)

여기서 은 확인하려는 셀의 값입니다.

Len 함수를 사용하여 셀이 비어 있는지 확인하는 예제 코드를 살펴보겠습니다.

Sub ExampleLen()

If Len(Range("A1").Value) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Len(Range("A2").Value) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

예상대로 다음과 같은 결과를 얻습니다.

셀 A1이 비어 있지 않음

셀 A2가 비어 있음

방법 5: CountCounta 기능

CountCounta 함수는 주어진 범위에서 비어 있지 않은 셀의 수를 반환하는 VBA의 워크시트 함수입니다. 차이점은 Count 기능은 숫자 값만 계산하는 반면 Counta 기능은 모든 데이터에 사용할 수 있다는 것입니다.

이러한 기능을 활용하여 주어진 셀이 비어 있는지 확인할 수 있습니다. 개수가 0으로 반환되면 함수는 비어 있지 않은 셀만 계산하므로 셀이 비어 있습니다.

Count 함수는 텍스트 또는 문자열 유형 데이터를 공백으로 간주하기 때문에 Count 함수 대신 Counta 함수를 사용하는 것이 좋습니다.

다음 코드는 Counta 함수를 사용하여 빈 셀을 확인하는 방법을 보여줍니다.

Sub ExampleCounta()

If Application.WorksheetFunction.CountA(Range("A1")) = 0 Then
MsgBox "Cell A1 is empty"
Else
MsgBox "Cell A1 is not empty"
End If

If Application.WorksheetFunction.CountA(Range("A2")) = 0 Then
MsgBox "Cell A2 is empty"
Else
MsgBox "Cell A2 is not empty"
End If

End Sub

출력은 예상대로입니다.

셀 A1이 비어 있지 않음

셀 A2가 비어 있음

방법 6: IsNull 기능

셀에 Null 값이 포함되어 있는지 확인하는 또 다른 방법은 IsNull 기능을 사용하는 것입니다. 이것은 또한 부울 값을 반환하는 VBA의 기본 제공 함수입니다. 값이 Null과 같으면 True, 그렇지 않으면 False입니다.

이 함수가 셀 값에 대해 True를 반환하면 셀이 비어 있다고 결론을 내릴 수 있습니다.

IsNull 함수의 구문은 다음과 같습니다.

IsNull(value)

여기서 은 확인하려는 셀의 값입니다.

그러나 주목해야 할 점은 Null 값이 본질적으로 셀에 할당되지 않는다는 것입니다. 따라서 대부분의 경우 이 방법은 작동하지 않으며 해당 값이 NULL과 같지 않기 때문에 셀이 비어 있어도 비어 있지 않다고 말합니다.

결론

이 기사에서는 Excel VBA에서 셀이 비어 있는지 확인하는 6가지 방법을 설명했습니다.

  1. IsEmpty 기능
  2. vbNullString과의 비교
  3. 빈 문자열과의 비교
  4. 기능
  5. CountCounta 기능
  6. IsNull 기능

이러한 개념을 이해할 수 있기를 바랍니다. 계속 공부하다!

작가: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

관련 문장 - VBA Cell