2016-09-20 6 views
0

Ich schaue auf Lauftest auf Umfrageergebnisse. Für die Spaltenüberschriften für jede Frage sind sie IMP1, IMP2, usw. Was ich tun möchte, ist die Frage in diese Zelle zu stellen, so dass Sie beim Klicken auf die Kopfzeile die Frage sehen können, aber aus der Übersicht der Datei Der Benutzer kann nur IMP1 sehen.Versuch, Text in einer Excel-Zelle zu verbergen

Nicht sicher, ob diese Formulierung Sinn macht, aber grundsätzlich möchte ich den Text im Abschnitt Formel, wenn Sie auf eine Zelle klicken. Wenn die Zelle nicht ausgewählt ist, sollte nur IMP1 angezeigt werden.

+0

Ich habe nicht verstanden, was Sie wollen, aber eine wahrscheinlich relevante Excel-Thema ist https://support.office.com/en-us/article/Display-or-hide-formulas-F7F5AB4E-BF24-4EFC-8FC9 -0C1B77A5356F. – GSerg

+0

Wenn Sie sagen "Klicken Sie auf die Überschrift", so meinen Sie die Zeichenfolge, oder wählen Sie einfach die Zelle aus? – Kyle

+0

Zum Beispiel in Zelle A1 möchte ich eine Frage stellen: "Wie gut hören Professoren auf Studenten?". Dies ist eine lange Aussage, die man in eine Zelle setzen und vollständig zeigen kann. Ich möchte einfach zeigen, IMP1, wie dies die erste Frage in der Umfrage ist. Dies ist mehr für einen Organisationsaspekt, als wenn jemand in diese Datei ging und sich fragte, was IMP1 bedeutete, sie könnten auf die Zelle klicken und in der Formelleiste würde sie die Frage lesen. Macht das mehr Sinn? –

Antwort

0

Dies ist speziell für die einzelne Zelle A1, aber kann erweitert werden, um alle Zellen in der Spalte A zu verarbeiten. Geben Sie zuerst das in der Zelle:

IMP1What is the meaning of life ?? 

und dann die folgenden Ereignis Makro im Arbeitsblatt Codebereich:

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 

Wenn Sie auf A1, Sie sehen:

enter image description here

und wenn Sie auf die Zelle klicken, werden Sie sehen:

enter image description here

Weil es Arbeitsblatt-Code ist, ist es sehr einfach zu installieren und automatisch zu verwenden:

  1. rechten Maustaste auf den Namen der Registerkarte am unteren Rand des Excel-Fenster
  2. wählen Sie Ansicht Code - das bringt in ein VBE-Fenster
  3. das Material einfügen und schließen Sie das Fenster VBE

Wenn Sie Bedenken haben, versuchen Sie es zunächst auf einem Testarbeitsblatt.

Wenn Sie die Arbeitsmappe speichern, wird das Makro damit gespeichert. Wenn Sie eine Version von Excel später als 2003 verwenden, müssen Sie die Datei als .xlsm lieber als speichern.xlsx

das Makro zu entfernen:

  1. bringen die VBE-Fenster wie oben
  2. klar den Code oben aus
  3. VBE Fenster

schließen Um mehr über Makros im Allgemeinen zu lernen siehe:

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

und

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

Um mehr über Event-Makros (Arbeitsblatt-Code) finden Sie unter:

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

Makros muss dafür aktiviert sein, zu arbeiten!

0

Neben den Kommentaren können Sie auch eine VBA-Subroutine verwenden, die auf dem Ereignis SelectionChange des Arbeitsblatts basiert. Doppelklicken Sie in Ihrem VBE auf das Arbeitsblatt, in dem dieses Ereignis im VBAProject-Bereich stattfindet. In diesem Codefenster Ort der folgende:

'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 

Diese Einrichtung wird unter der Annahme, dass Ihre Fragen (der Inhaber Text wie IMP1) in Spalte A des Arbeitsblattes ist, und dass Sie die gesamte Frage versteckt haben würde (ich nehme an) in Spalte B. Außerdem wäre Spalte C leer, so dass wir den Haltertext vorübergehend behalten könnten (obwohl Sie das auch in seine eigene globale Variable stopfen könnten).

Verwandte Themen