以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  条件选择  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97169)

--  作者:发财
--  发布时间:2017/3/7 14:30:00
--  条件选择
If ws1.cells(6+i,n-1).Formula = "" OrElse Char.IsNumber(ws1.cells(6+i,n-1).Formula) Then
为什么当单元格内的数字为负数(如-22),不能进入条件内

--  作者:有点色
--  发布时间:2017/3/7 14:48:00
--  

 Formula是指公式,如果你要判断值可以这样写

 

Dim s As String = "-22"
Dim d As Double
If Double.TryParse(s, d) Then
    msgbox("OK")
End If


--  作者:发财
--  发布时间:2017/3/7 14:55:00
--  
 For n As Integer = 4 To 48
                    If ws1.cells(6+i,n-1).Formula = "" OrElse Char.IsNumber(ws1.cells(6+i,n-1).Formula) Then
                        ws1.cells(6+i,n-1).value = val(Sheet1(n,4).Value)
                    End If
                Next
当单元格内有公式如“=  ”,都不能进入

--  作者:发财
--  发布时间:2017/3/7 14:56:00
--  
当出现负数时,亦不能进入


--  作者:发财
--  发布时间:2017/3/7 16:27:00
--  
上述公式如何使到出现负数时,可以进入


--  作者:有点色
--  发布时间:2017/3/7 18:30:00
--  

你上面代码判断的不是值。如果判断值,请用,如

 

If val(ws1.cells(6+i,n-1).text) > 0 Then

 

End If