![Excel 单元格编程](https://linux22.com/image/1389517/Excel%20%E5%8D%95%E5%85%83%E6%A0%BC%E7%BC%96%E7%A8%8B.png)
这可能是一个关于 stackoverflow 的问题,我不确定,
我想知道是否可以对 Excel 2010 中的单元格进行编程,让单击单元格时文本消失。您可以对 html 表单上的文本输入块应用这种编程。
我想这样做,因为我需要一种方法来通知用户在单元格中放置什么。我知道评论可以有效地做到这一点,但我希望文本在鼠标悬停或显示所有评论按钮时不提示的情况下出现。
我可以使用脚本来执行此操作吗?或者 Excel 中是否有相关功能?
答案1
您可以使用 VBA 清除特定单元格选择改变()方法。
Private Sub Worksheet_SelectionChange(ByVal ActCell As Range)
Set TarCell = Sheets(1).[B3]
If ActCell.Address = TarCell.Address Then TarCell.Clear
End Sub
对于此示例,请将一些内容写入我们的目标单元格 [B3],然后再次重新选择该单元格。
该宏将在用户进行每次新选择时执行。接下来,它会检查新选择的单元格是否是您想要的目标单元格焦油细胞。若是,则清除其默认文本。
答案2
尝试这个论坛主题:http://www.mrexcel.com/forum/excel-questions/184269-placeholder-text-disappear-when-cell-filled.html
“使用数据验证,这样当选择一个单元格时,将显示该单元格中应包含的内容的简短描述。转到数据\验证\输入消息并输入您的文本”
答案3
我认为你想得太多了。Excel 已经内置了这方面的功能。
当您选择一个单元格并开始输入时,单元格中已有的文本将自动清除。它不会像您希望的那样在单击时被清除,但它仍会为您提供所需的结果。
在 excel 文件中,有一个单元格显示“在此处输入值 X”,这是完全可以接受的。然后有人点击该单元格并开始输入。无需宏或其他任何东西来使您的文档复杂化并让您的用户感到困惑(当人们每次点击某个地方时文本开始消失时,他们会感到惊讶并且不信任您的文档,并且当他们点击单元格时他们可能会忘记您的提示说了什么)。
这是 Excel 用户已经知道的功能。无需教他们新东西。
答案4
您无法使用公式做到这一点,但您可以使用虚拟专用网络对于 Excel。
总体思路是:
- 您有一个设置工作表的例程。在执行此操作时,您会将某些单元格设置为包含将用作提示的值。可以通过单击按钮来调用此例程,例如重置工作表或将其复制到新工作表中。
当用户编辑工作表时,对于您最初设置的那些单元格(将它们视为每个单元格 1 个单元格的范围),您可以定义当单元格发生变化时要执行的操作。
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("H5")) Is Nothing Then 'this supposes on current worksheet the range of interest is H5 'Your VBA code here 'you will want to set range value to default value if it is empty string "" 'or do something else EndIf End Sub