我编写了下面的函数来测试单元格是否根据单元格填充激活了条件格式.
Function cfTest(inputCell)
If inputCell.DisplayFormat.Interior.Color <> 16777215 Then
cfTest = True
Else
cfTest = False
End If
End Function
Run Code Online (Sandbox Code Playgroud)
但它不起作用.说,这个方法确实如此.
Sub myCFtest()
Dim R As Integer
R = 2
Do
If Range("I" & R).DisplayFormat.Interior.Color <> 16777215 Then
Range("K" & R).Value = True
Else
Range("K" & R).Value = False
End If
R = R + 1
Loop Until R = 20
End Sub
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释为什么功能不起作用?
干杯.
编辑:更新的功能,但不适用于条件格式
Function cfTest(inputCell)
If inputCell.Interior.ColorIndex <> -4142 Then
cfTest = True
Else
cfTest = False …Run Code Online (Sandbox Code Playgroud) 我有这个VBA功能:
Public Function testPrec(target As Range) As String
testPrec = target.Precedents.Address(External:=False)
End Function
Run Code Online (Sandbox Code Playgroud)
在单元格C11中,我有这个公式:
=C6+C8
Run Code Online (Sandbox Code Playgroud)
如果我testPrec从即时窗口调用,它可以正常工作:
?testPrec([c11])
$C$6,$C$8
Run Code Online (Sandbox Code Playgroud)
编辑:如果从非UDF宏Sub调用它也可以正常工作.异常是UDF案例.
如果我从工作表中将其称为UDF:
=testPrec(C11)
Run Code Online (Sandbox Code Playgroud)
我刚回来"$ C $ 11".
有谁知道发生了什么,甚至更好地如何从UDF调用中获得实际的先例?(我正在使用Excel 2007.)