我对excel还是很陌生,但是我可以算出一些简单的公式。我正在寻找创建一个占位符文本效果。我要实现这一目标的方法是这样的;
单元格A1:具有占位符文本,并且已隐藏。在此之下,包含公式的单元格B1。
此公式检查以查看单元格C1是否为空,如果C1为空,则它将值返回给C1。该值是A1的值。
这就是我的想法,但是我不确定如何编写代码。我已经在网上反弹了一段时间,但找不到具体答案。我得到的最接近的是:
=IF(C6<>"","",C4)
只是为了澄清我希望将公式B1的结果输入到C1中。
好的,因此将其放入工作表的代码模块中。确保将其放在要监视的特定工作表的模块中。
首先,使用公式填充C5到C99的范围=$C$1
。您只需要这样做一次,宏将在以后处理它。
Private Sub Worksheet_Change(ByVal Target As Range)
'the formula reference
Dim defaultFormula As String
defaultFormula = "=$C$1"
'The default text cell:
Dim defaultText As Range
Set defaultText = Range("C1")
'The cells you want to monitor:
Dim rng As Range
Set rng = Range("C5:C999") '## Modify as needed
'Cell iterator
Dim cl As Range
If Intersect(Target, rng) Is Nothing Then Exit Sub
'Avoid infinite looping
Application.EnableEvents = False
'If the user has deleted the value in the cell, then replace it with the formula:
For Each cl In Intersect(Target, rng)
If Trim(cl.Value) = vbNullString Then
cl.Formula = defaultFormula
End If
Next
'Turn on Events:
Application.EnableEvents = True
End Sub
根据上面代码中的注释,这样做(希望)很容易解释。只要更改Change
工作表上的单元格,就会引发该事件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句