VBA - Идентификация пустой строки

Вы можете использовать функцию strtotime, чтобы вернуть количество секунд из today 00:00:00.

$seconds= strtotime($time) - strtotime('00:00:00');
3
задан Pᴇʜ 16 January 2019 в 06:58
поделиться

2 ответа

Chr (160) Issue

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
0
ответ дан VBasic2008 16 January 2019 в 06:58
поделиться

Строковое значение, которое «кажется пустым, но имеет длину 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]

0
ответ дан Mathieu Guindon 16 January 2019 в 06:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: