通过代码进行条件格式化

Conditional Formatting through code

您好,我正在使用此请求从其他网站解析一些数据:

   Public Function giveMeValue(ByVal link As Variant) As Variant

Set htm = CreateObject("htmlFile")

With CreateObject("msxml2.xmlhttp")
   .Open "GET", link, False
   .send
   htm.body.innerhtml = .responsetext
End With

If Not htm.getelementbyId("JS_topStoreCount") Is Nothing Then

   giveMeValue = htm.getelementbyId("JS_topStoreCount").innerText

Else
    giveMeValue = "0"

End If

htm.Close
Set htm = Nothing

End Function

使用单元格上的函数 =giveMeValue(A1) 现在我需要对复制的值应用一些格式化条件,但我无法使用 excel 条件格式化

活动单元格"B"列

  1. 不到10红色
  2. 10 到 15 黄色
  3. 超过 15 个绿色

所有未 return 任何数字的单元格都应为空白,请将 =giveMeValue(A1) return 视为字符串

整数(和 Long 整数)本质上不能包含数字的小数部分(又名 小数 )。我强烈怀疑这是一个重要因素,但您的问题中缺少任何可以澄清这一点的细节。

删除函数声明中的As String。这有效地将其更改为默认值 As Variant。唯一的其他操作是将一个代码行更改为,

giveMeValue = CDbl(.innerText)

这应该return一个数值,无论是否有小数。如果从抓取中检索到无法转换为数字的文本,该函数将 return 出错。