2016-09-20 100 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列將是空的,以便我們可以臨時保存持有者文本(儘管您也可以將其填入自己的全局變量中)。