Microsoft Excel VBA에서 셀이 비어 있는지 확인하는 다양한 방법
- 셀이 비어 있는지 확인하는 방법
-
방법 1:
IsEmpty
함수 -
방법 2:
vbNullString
과 비교 - 방법 3: 빈 문자열과 비교
-
방법 4:
Len
함수 -
방법 5:
Count
및Counta
기능 -
방법 6:
IsNull
기능 - 결론
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
이 코드를 실행하면 메시지 상자에 다음과 같은 결과가 표시됩니다.
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
다시 출력에서 다음 메시지 상자가 표시되는 것을 볼 수 있습니다.
참고: 이 방법은 셀에 값이 없지만
#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
출력은 다음과 같습니다.
방법 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
예상대로 다음과 같은 결과를 얻습니다.
방법 5: Count
및 Counta
기능
Count
및 Counta
함수는 주어진 범위에서 비어 있지 않은 셀의 수를 반환하는 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
출력은 예상대로입니다.
방법 6: IsNull
기능
셀에 Null
값이 포함되어 있는지 확인하는 또 다른 방법은 IsNull
기능을 사용하는 것입니다. 이것은 또한 부울 값을 반환하는 VBA의 기본 제공 함수입니다. 값이 Null
과 같으면 True
, 그렇지 않으면 False
입니다.
이 함수가 셀 값에 대해 True
를 반환하면 셀이 비어 있다고 결론을 내릴 수 있습니다.
IsNull
함수의 구문은 다음과 같습니다.
IsNull(value)
여기서 값
은 확인하려는 셀의 값입니다.
그러나 주목해야 할 점은 Null
값이 본질적으로 셀에 할당되지 않는다는 것입니다. 따라서 대부분의 경우 이 방법은 작동하지 않으며 해당 값이 NULL
과 같지 않기 때문에 셀이 비어 있어도 비어 있지 않다고 말합니다.
결론
이 기사에서는 Excel VBA에서 셀이 비어 있는지 확인하는 6가지 방법을 설명했습니다.
IsEmpty
기능vbNullString
과의 비교- 빈 문자열과의 비교
렌
기능Count
및Counta
기능IsNull
기능
이러한 개념을 이해할 수 있기를 바랍니다. 계속 공부하다!
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