[英]VBA function to test if cell is conditionally formatted in Excel
[英]Create a function in Excel VBA to test if a cell contains a certain character
我正在寻找在Excel / VBA中创建一个函数,该函数将查看一系列单元格,如果任何单元格包含某个字符(星号*),则返回TRUE值。 将有一些空白单元格,一些单元格将包含文本,一些单元格可能包含文本和一个星号。 有人可以帮忙吗? 非常感谢
复制以下代码并将其粘贴到新模块中
Function ContainsStar(r As Range) as Boolean
Dim i As Long
Dim cell As Range
Dim contains As Boolean
For Each cell In r.Cells
For i = 1 To Len(cell)
If Right(Left(cell, i), 1) = Chr(42) Then
contains = True
GoTo ExitFn
End If
Next i
Next
Exit Function
ExitFn:
ContainsStar = contains
Exit Function
End Function
然后像这样在电子表格中使用它
注意:
D1 = =ConstainsStar(A1:A3)
H1 = =ConstainsStar(E1:E3)
您还可以使用instr函数
function containstar(byval r as range) as boolean
dim cel as range 'be careful about variable names that are already existing code (cell)
for each cel in r.cells
'or use a loop like: for i=1 to r.cells.count , and use r.cells(i), if you prefer.
if instr(1,cel.value,"*")>0 then
containstar=true
exit sub 'you can also exit for
end if
next cel
containstar=false
end sub
并调用该函数:
a=containstar("a1:b8")
仅在无法执行其他操作时才使用goto,通常不需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.