Как я выражаю условие, "если значение не пусто" на языке VBA? Это - что-то вроде этого?
"if value is not empty then..."
Edit/Delete Message
Это зависит от того, что вы хотите протестировать:
Если имя strName = vbNullString
или IF strName = ""
или Len(strName) = 0
(последнее предположительно быстрее)Если myObject is Nothing
If isnull(rs! myField)
If range("B3") = ""
или IsEmpty(myRange)
Extended discussion available here (для Access, но большинство из них работает и для 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
Предложение Алекси хорошо. Это можно также жестко закодировать, сначала создав переменную в виде Variant
, а затем присвоив ее Empty
. Затем выполните команду if/then для возможного ее заполнения. Если она будет заполнена, то не будет пустой, если нет, то останется пустой. Проверьте это с помощью 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
Я не уверен, что это то, что вы ищете
if var<>"" then
dosomething
или
if isempty(thisworkbook.sheets("sheet1").range("a1").value)= false then
функция ISEMPTY также может быть использована
.Почему бы просто не использовать встроенную функцию Format()?
Dim vTest As Variant
vTest = Empty ' or vTest = null or vTest = ""
If Format(vTest) = vbNullString Then
doSomethingWhenEmpty()
Else
doSomethingElse()
End If
Format() поймает как пустые, так и нулевые варианты и преобразует их в строки. Я использую ее для таких вещей, как нулевая/пустая валидация и для проверки, был ли элемент выбран в выпадающем списке.