在Excel中创build占位符文本

我还是比较新的excel,但我可以制定一些简单的公式。 我正在寻找创build一个占位符文本效果。 我想要达到这个目标的方式就是这样;

单元格A1:具有占位符文本并被隐藏。 在此之下,包含公式的单元格B1。

如果C1为空白,则此公式检查单元格C1是否为空,它将值返回给C1。 这个价值就是A1的价值。

这是我的头脑,但我不确定如何编码。 我已经在网上反弹了一段时间,但我找不到具体的答案。 我得到的最接近的是;

=IF(C6<>"","",C4) 

只是为了澄清我想把公式B1的结果代入C1。

好吧,把它放在工作表的代码模块中。 确保将其放入要监视的特定工作表的模块中。

在这里输入图像说明

首先,使用公式如=$C$1来填充C5到C99。 你应该只需要这样做一次,macros将在以后照顾它。

 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会引发Change事件。