2016-09-20 51 views
0

我在查看调查结果的运行测试。对于每个问题的列标题,它们是IMP1,IMP2等。我希望能够做的是将问题置于此单元格中,以便当您单击标题时可以看到问题,但是从文件概览所有用户都可以看到IMP1。试图隐藏excel单元格中的文本

不知道这个措辞是否有意义,但基本上我想单击单元格时在公式部分中的文本。当单元格未被选中时,它应该只显示IMP1。

+0

我不明白你想要什么,但一个可能相关的Excel主题是https://support.office.com/zh-cn/article/Display-or-hide-formulas-F7F5AB4E-BF24-4EFC-8FC9 -0C1B77A5356F。 – GSerg

+0

当你说'点击标题',所以你的意思是字符串的文本,或只是选择细胞? – Kyle

+0

例如在A1单元格中,我想提出一个问题:“教授们对学生的听力有多好?”。这是一个很长的声明,可以放在单元格中并完全展示。所以我想简单地让它显示IMP1,因为这是调查中的第一个问题。这更像是一个组织方面,因为如果有人进入这个文件并且想知道IMP1是什么意思,他们可以点击单元格并在公式栏中阅读这个问题。这是否更有意义? –

回答

0

这是专门针对单个单元格A1,,但可以扩展以处理列A中的所有单元格。首先在单元格中输入:

IMP1What is the meaning of life ?? 

,然后将下面的事件宏工作表中的代码区:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Dim A1 As Range 

    Set A1 = Range("A1") 
    l = Len(A1.Text) 

    If Intersect(A1, ActiveCell) Is Nothing Then 
     A1.Characters(Start:=1, Length:=l).Font.ColorIndex = 1 
     A1.Characters(Start:=5, Length:=l).Font.ColorIndex = 2 
    Else 
     A1.Characters(Start:=1, Length:=l).Font.ColorIndex = 1 
     A1.Characters(Start:=1, Length:=4).Font.ColorIndex = 2 
    End If 
End Sub 

如果你点击A1,您将看到:

enter image description here

如果您单击关闭单元格,您将看到:

enter image description here

因为它是工作表的代码,这是非常容易安装和自动使用:

  1. 右击近Excel窗口
  2. 选择查看底部的标签名称代码 - 这将弹出一个VBE窗口
  3. 粘贴东西并关闭VBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

如果保存工作簿,宏将与其一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件保存为.xlsm而非 。XLSX

要删除宏:

  1. 弹出VBE窗口如上
  2. 清晰的代码进行
  3. 关闭VBE窗口

要了解更多关于宏一般,参见:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解更多有关事件宏(工作表的代码),请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

宏必须为此工作启用!

0

除了使用注释之外,还可以使用VBA子例程根据工作表的SelectionChange事件执行此操作。在VBE中,双击VBAProject窗格中发生此事件的工作表。在下面的代码窗口的地方:

'Global Variable to hold the last column A cell that was clicked into 
Private lastClicked As Range 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

    'Did we click out of a column A cell? 
    If Not lastClicked Is Nothing Then 
     If Target <> lastClicked Then 

      'Copy the holder value from column C back to Column A 
      lastClicked.Value = lastClicked.Offset(, 2).Value 

      Set lastClicked = Nothing 
     End If 
    End If 

    'Detect a click into column A 
    If Target.Column = 1 Then 

     'Update the global "lastClicked" variable 
     Set lastClicked = Target 

     'Move the holder text to column C 
     Target.Offset(, 2) = Target.Value 

     'Move the question text from column B to target 
     Target.Value = Target.Offset(, 1).Value 


    End If 

End Sub 

这个设置是假设您的问题(持有者文字像IMP1)在工作表的列A,并且,你将不得不隐藏整个问题(我假设)在列B中。此外,C列将是空的,以便我们可以临时保存持有者文本(尽管您也可以将其填入自己的全局变量中)。