Вы можете использовать функцию strtotime
, чтобы вернуть количество секунд из today 00:00:00
.
$seconds= strtotime($time) - strtotime('00:00:00');
160 - кодовый номер неразрывного пробела .
Скажем, ячейка А1.
В любой ячейке напишите =CODE(A1)
, а в другой (например, рядом с) напишите =CODE(MID(A1,2,1))
.
Результатами являются кодовые номера (целые числа, например, a и b) символов.
Теперь в VBA вы можете использовать:
If Cells(1, 1) = Chr(a) & Chr(b) Then
End If
или, например,
If Left(Cells(1, 1), 1) = Chr(160) then
End If
Строковое значение, которое «кажется пустым, но имеет длину 2 символа», называется пробелом , а не пустым , не пустым , не пусто .
Используйте функцию Trim
(или ее младший брат Trim$
), чтобы убрать начальные / конечные пробельные символы, а затем сравните результат с vbNullString
(или ""
):
If Trim$(value) = vbNullString Then
Функция Trim
не удаляет неразрывные пробелы. Вы можете написать функцию, которая выполняет:
Public Function TrimStripNBSP(ByVal value As String) As String
TrimStripNBSP = Trim$(Replace(value, Chr$(160), Chr$(32)))
End Function
Она заменяет неразрывные пробелы на ASCII 32 («нормальный» пробел), затем обрезает ее и возвращает результат.
Теперь вы можете использовать его для проверки по vbNullString
(или ""
):
If TrimStripNBSP(value) = vbNullString Then
Функция IsEmpty
может использоваться только с Variant
(возвращает только значимый результат). учитывая Variant
в любом случае), чтобы определить, содержит ли этот вариант значение.
Функция IsNull
имеет чрезвычайно ограниченное использование в VBA, размещенной в Excel, и не должна быть необходимой, поскольку на листе Excel ничего не будет Null
, особенно строка длиной 2. [ 1125]