空单元格不是空的?
我有一个空单元格的问题。 我想跳过空单元格,但我不知道,如何设置IF条件。 当我通过F8进行debugging时,单元显示为EMPTY,但是IF条件转到THEN。 感谢您的想法;)
For i = 5 To 76 If i = 62 Or i = 63 Or i = 64 Then GoTo prechod Set myRange = actsheet.Range("V" & CStr(i)) If Not IsEmpty(myRange.Value) Or Not IsError(myRange.Value) Or myRange.Value <> "" Or myRange.Value = Empty Then hodsheet.Range("A" & CStr(hity)).Value = myRange.Value hodsheet.Range("B" & CStr(hity)).Value = myRange.Offset(0, 1).Value hodsheet.Range("C" & CStr(hity)).Value = myRange.Offset(0, 7).Value hodsheet.Range("D" & CStr(hity)).Value = ThisWorkbook.Sheets(1).Range("A7").Value hodsheet.Range("E" & CStr(hity)).Value = "nocni" hity = hity + 1 End If prechod: Next i
要检查单元格是否为空,我们实际上可以使用Len(Trim(Cell.Value))
。
Microsoft Excel Visual Basic LEN
函数返回指定string的长度。 Ex Len("Sid")
会给你3
Microsoft Excel Visual Basic TRIM
function可从文本中去除额外的空格,在文本的开头或结尾处只留下单词之间的单个空格,并且不会有空格字符。 对于前TRIM(" SID ")
会给你SID
通过结合这两个Len(Trim(myRange.Value))
,我们正在做的是首先修剪单元格值,然后find长度。 所以如果单元格值是" "
则Trim()
将删除空格, LEN()
会给你0
因此你需要使用
If Not Len(Trim(myRange.Value)) = 0
将它整合到您的代码中
If Not Len(Trim(myRange.Value)) = 0 And Not IsError(myRange.Value) Then
首先,所有从input数据中select,并去replace选项,replace为 – ,0或任何不会影响你的输出的字符