programing

VBA 언어로 "값이 비어 있지 않은 경우"를 어떻게 표현합니까?

yellowcard 2023. 5. 25. 21:39
반응형

VBA 언어로 "값이 비어 있지 않은 경우"를 어떻게 표현합니까?

VBA 언어에서 "값이 비어 있지 않은 경우" 조건을 어떻게 표현합니까?이런 건가요?

"if value is not empty then..."
Edit/Delete Message

사용하다Not IsEmpty().

예:

Sub DoStuffIfNotEmpty()
    If Not IsEmpty(ActiveCell.Value) Then
        MsgBox "I'm not empty!"
    End If
End Sub

테스트할 항목에 따라 다릅니다.

  • 문자열에 대해 사용할 수 있습니다.If strName = vbNullString또는IF strName = ""또는Len(strName) = 0(마지막 것이 더 빠르다고 추정됨)
  • 개체에 대해 사용할 수 있습니다.If myObject is Nothing
  • 레코드 집합 필드의 경우 다음을 사용할 수 있습니다.If isnull(rs!myField)
  • 엑셀 셀의 경우, 당신은 사용할 수 있습니다.If range("B3") = ""또는IsEmpty(myRange)

자세한 내용은 여기에서 확인할 수 있습니다(액세스용). 대부분 Excel에서도 사용할 수 있습니다.

사용해 보십시오.

If Len(vValue & vbNullString) > 0 Then
  ' we have a non-Null and non-empty String value
  doSomething()
Else
  ' We have a Null or empty string value
  doSomethingElse()
End If

기본 제공 형식() 기능을 사용하는 것이 어떻습니까?

Dim vTest As Variant
vTest = Empty ' or vTest = null or vTest = ""

If Format(vTest) = vbNullString Then
    doSomethingWhenEmpty() 
Else
   doSomethingElse() 
End If

format()은 빈 변형과 null 변형을 캡처하여 문자열로 변환합니다.나는 null/빈 검증 및 콤보 상자에서 항목이 선택되었는지 확인할 때 사용합니다.

이것이 당신이 찾고 있는 것인지 확실하지 않습니다.

if var<>"" then
           dosomething

또는

if isempty(thisworkbook.sheets("sheet1").range("a1").value)= false then

ISEMBLE 기능도 사용할 수 있습니다.

알렉스피의 제안은 좋습니다.먼저 변수를 다음과 같이 생성하여 이를 하드 코드화할 수도 있습니다.Variant그리고 나서 그것을 할당합니다.Empty그런 다음 if/then with를 수행하여 가능한 한 채웁니다.채워지면 비어 있지 않고, 채워지지 않으면 비어 있습니다.그러면 이 항목을 확인합니다.IsEmpty.

Sub TestforEmpty()

    Dim dt As Variant
    dt = Empty

    Dim today As Date
    today = Date
    If today = Date Then
        dt = today
    End If

    If IsEmpty(dt) Then
        MsgBox "It not is today"
    Else
        MsgBox "It is today"
    End If

End Sub

사용할 수 있습니다.inputboxfor 루프의 함수:

Sub fillEmptyCells()
    Dim r As Range
    Set r = Selection
    For i = 1 To r.Rows.Count
        For j = 1 To r.Columns.Count
            If Cells(i, j).Value = "" Then
                Cells(i, j).Select
                Cells(i, j).Value = InputBox( _
                    "set value of cell at column " & Cells(1, j).Value & _
                    " and row " & Cells(i, 1))
            End If
        Next j
    Next i
End Sub

저는 이 문제의 해결책이 우리가 상상하는 것보다 다소 쉬울 수 있다고 생각합니다.나는 단순히 그 표현을 사용했습니다.Not Null그리고 잘 작동했습니다.

Browser("micclass").Page("micclass").WebElement("Test").CheckProperty "innertext", Not Null

언급URL : https://stackoverflow.com/questions/1983649/how-do-i-express-if-value-is-not-empty-in-the-vba-language

반응형