Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autom. Zelltext, der bei anklicken verschwindet

Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 14:54:00
Marc
Hallo liebe Excelfreunde,
ich suche nach einer Möglichkeit einer Zelle eine automatische Beschriftung mitzugeben, die aber verschwinden soll, sobald sie angeklickt wird. Es soll also im Grunde so ähnlich sein wie auf dieser Seite oben bei den Online-Recherchen. Das Feld enthält den grau gefärbten Text "Google Custom Search", sobald man es aber anklickt verschwindet dieser Text und man kann was eingeben. Genauso würde ich es gern bei Excel mit einer bestimmten Zelle machen. Ich habe es schon mit mehreren Makros versucht, hatte aber leider keinen Erfolg bzw. nicht das Ergebnis, das ich gern hätte. Kann mir dabei jemand helfen?
Vielen Dank schonmal im Voraus!
Grüße,
Marc Richter
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 15:18:00
Bertram
Hallo Marc,
wie wär's damit:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "A1" And Target.Value = "Google Custom Search" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Else
If [A1].Value = "" Then [A1].Value = "Google Custom Search"
End If
End Sub

Gruß
Bertram
Anzeige
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 15:52:00
Marc
Hallo Bertram,
vielen Dank schonmal für Deine Hilfe! Der Code funktioniert einwandfrei, solange ich ihn in einer leeren Datei ausführe! Seltsamerweise funktioniert er nicht, wenn ich ihn in meine Datei hinein kopiere... Ich habe keine Ahnung, warum das so ist. Ich habe bereits ein Worksheet_SelectionChange Makro, in das ich Deine Anweisungen hinein kopiert habe. Zudem habe ich versucht die Zelladresse zu ändern, da dies die Zellen E21 und I21 betrifft und in der Zelle E21 Kontonummer und in I21 Bankleitzahl stehen soll. Aber es funktioniert leider nicht. Das einzige, was herauskommt ist, wenn ich auf entfernen drücke, dass eine Debug Meldung kommt, welche den Fehler "Typen unverträglich" meldet.
Hier mal das komplette Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "E21" And Target.Value = "Kontonummer" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Else
If [E21].Value = "" Then [E21].Value = "Kontonummer"
End If
If Target.Address(0, 0) = "I21" And Target.Value = "Bankleitzahl" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Else
If [I21].Value = "" Then [I21].Value = "Bankleitzahl"
End If
Application.ScreenUpdating = False
If Range("J8") = "" Then
Range("J8") = "20"
End If
Application.ScreenUpdating = True
If Target.Column = 11 Then
On Error GoTo ERRHDL
Application.EnableEvents = False
Select Case Len(Target)
Case 1: Target = "'0" & Format(Target, "0000")
Case 2: Target = "'0" & Format(Target, "0000")
Case 3: Target = "'0" & Format(Target, "0000")
Case 4: Target = "'0" & Format(Target, "0000")
Case 5: Target = "'0" & Format(Target, "0000")
End Select
Application.EnableEvents = True
End If
ERRHDL:
Application.EnableEvents = True
End Sub

Anzeige
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 16:03:18
Bertram
Hallo Marc,
bei mir ist es das Worksheet_SelectionChange-Ereignis und bei dir das Worksheet_Change-Ereignis. Das ist ein entscheidender Unterschied.
Gruß
Bertram
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 16:27:00
Marc
Hallo Bertram,
vielen Dank für den Hinweis!!! Das hatte ich komplett übersehen. Allerdings habe ich noch einen Fehler gefunden. Das Makro kann bei mir gar nicht richtig arbeiten, da diese Zelle eine verbundene Zelle ist. Ich bin nur durch Zufall darauf gekommen. Die Zelle wird zwar von Excel als E21 angezeigt. Sie ist aber verbunden aus den Zellen E21 bis H21 ebenso wie I21 eigentlich aus I21 bis K21 besteht. Leider läßt sich das auch nicht ändern, da es sich um ein Formular handelt. Kann man das Codetechnisch umschiffen?
Grüße,
Marc
Anzeige
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 17:20:55
Bertram
Hi Marc,
in dem Fall ginge es, wenn du Target durch ActiveCell ersetzt. Allerdings sollte man verbundene Zellen vermeiden (wie du sicher schon bemerkt hast.-)
Gruß
Bertram
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 17:42:18
Marc
Hallo Bertram,
vielen Dank!!! Jetzt funktioniert es endlich!!! Das war mir eine sehr große Hilfe! Auch von Franz!
Ich wünsche euch auch weiterhin viel Erfolg beim programmieren!
Grüße,
Marc
Anzeige
Gerne oT
26.02.2007 20:06:00
Bertram
AW: Autom. Zelltext, der bei anklicken verschwindet
26.02.2007 15:45:17
fcs
Hallo Marc,
das kann man z.B. mit folgendem Code (Hier am Beispiel von Zelle $B$4) realisieren, der im VBA-Editor unter dem entsprechendem Tabellenblatt einzufügen ist.
Bei Klick auf die Zelle wird der Inhalt gelöscht, wenn der Vorgabetext drin steht, und die Farbe der Schrift zurückgesetzt. Wird der Inhalt der Zelle gelöscht, dann wird der Vorgabetext eingetragen und Schriftfarbe auf dunkelgrau gesetzt.
Gruß
Franz

Const Vorgabe = "Vorgabe-Text"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$4" And Target.Cells.Count = 1 Then
Application.EnableEvents = False
If IsEmpty(Target) Then Target.Value = Vorgabe
If Target.Value = Vorgabe Then
Target.Font.ColorIndex = 16 'Schrift Dunkelgrau
Else
Target.Font.ColorIndex = xlAutomatic
End If
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$4" And Target.Cells.Count = 1 Then
If Target.Value = Vorgabe Then
Application.EnableEvents = False
Target.ClearContents
Target.Font.ColorIndex = xlAutomatic
Application.EnableEvents = True
End If
End If
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Automatischer Zelltext in Excel, der beim Klicken verschwindet


Schritt-für-Schritt-Anleitung

Um einen automatischen Zelltext in Excel zu erstellen, der beim Klicken verschwindet, kannst du folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das entsprechende Arbeitsblatt aus, in dem du den Code anwenden möchtest.

  3. Füge den folgenden Code in das Codefenster ein:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address(0, 0) = "A1" And Target.Value = "Google Custom Search" Then
           Application.EnableEvents = False
           Target.Value = ""
           Application.EnableEvents = True
       Else
           If [A1].Value = "" Then [A1].Value = "Google Custom Search"
       End If
    End Sub
  4. Ändere die Zelladresse (hier A1) und den Beispieltext ("Google Custom Search") nach Bedarf.

  5. Schließe den VBA-Editor und teste die Funktion in deinem Excel-Dokument.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass du die Zellreferenzen korrekt angegeben hast. Achte auch darauf, dass du in den Zellen keine verbundenen Zellen verwendest, da dies zu Problemen führen kann.
  • Fehler: Der Text verschwindet nicht

    • Lösung: Vergewissere dich, dass das Worksheet_SelectionChange-Ereignis verwendet wird. Wenn du bereits ein anderes Makro verwendest, musst du möglicherweise den Code anpassen.

Alternative Methoden

Eine andere Möglichkeit, um zu verhindern, dass der Text hinter Zellen verschwindet, ist die Verwendung von Worksheet_Change. Hier ist ein Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$4" And Target.Cells.Count = 1 Then
        Application.EnableEvents = False
        If IsEmpty(Target) Then Target.Value = "Vorgabe-Text"
        If Target.Value = "Vorgabe-Text" Then
            Target.Font.ColorIndex = 16 'Schrift Dunkelgrau
        Else
            Target.Font.ColorIndex = xlAutomatic
        End If
        Application.EnableEvents = True
    End If
End Sub

Diese Methode sorgt dafür, dass der Beispieltext in der Zelle immer angezeigt wird, es sei denn, die Zelle wird bearbeitet.


Praktische Beispiele

  1. Zelle E21 für Kontonummer:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address(0, 0) = "E21" And Target.Value = "Kontonummer" Then
           Application.EnableEvents = False
           Target.Value = ""
           Application.EnableEvents = True
       Else
           If [E21].Value = "" Then [E21].Value = "Kontonummer"
       End If
    End Sub
  2. Zelle I21 für Bankleitzahl:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address(0, 0) = "I21" And Target.Value = "Bankleitzahl" Then
           Application.EnableEvents = False
           Target.Value = ""
           Application.EnableEvents = True
       Else
           If [I21].Value = "" Then [I21].Value = "Bankleitzahl"
       End If
    End Sub

Tipps für Profis

  • Verwende ActiveCell, wenn du mit verbundenen Zellen arbeitest, um die Funktionalität zu verbessern.
  • Vermeide die Verwendung von verbundenen Zellen, da dies oft zu unerwarteten Fehlern führen kann.
  • Teste deine Makros in einer leeren Datei, bevor du sie in deine Hauptdatei einfügst, um Fehler frühzeitig zu erkennen.

FAQ: Häufige Fragen

1. Warum verschwindet der Text nicht, wenn ich auf die Zelle klicke? Der Text könnte aufgrund eines anderen aktiven Makros oder einer falschen Zellreferenz nicht verschwinden. Überprüfe, ob der Code an der richtigen Stelle implementiert ist.

2. Was passiert, wenn ich die Zellen verbinde? Verbundenen Zellen können dazu führen, dass der Text verschwindet oder nicht richtig angezeigt wird. Es wird empfohlen, die Verwendung von verbundenen Zellen zu vermeiden, um Probleme zu minimieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige