Anzeigen von Text, wenn eine Zelle leer ist (Microsoft Excel)
Sheryl kann die bedingte Formatierung verwenden, um eine Zelle in einer bestimmten Farbe erscheinen zu lassen, wenn die Zelle leer ist. Anstelle einer anderen Farbe für die leere Zelle möchte sie, dass in der leeren Zelle Text angezeigt wird. Wenn die Zelle beispielsweise leer ist, möchte sie möglicherweise „Kundenname“ anzeigen, was dem Benutzer als Eingabeaufforderung dienen würde. Sheryl fragt sich, ob es eine Möglichkeit gibt, diese Art der „bedingten Formatierung“ durchzuführen, bei der Text angezeigt wird.
Die kurze Antwort lautet nein, dies ist nicht möglich. Die traditionelle Art, dies zu umgehen, besteht darin, Ihre Eingabeaufforderungen von Ihren Eingabezellen zu trennen. Wenn beispielsweise die Benutzereingabe in Zelle B4 erwartet wird, können Sie den Wortlaut „Kundenname:“ (mit dem Doppelpunkt) in Zelle A4 einfügen. Wenn der Wortlaut bei der Eingabe des Kundennamens verschwinden soll, können Sie stattdessen eine Formel in Zelle A4 verwenden:
=IF(ISBLANK(B4),"Customer Name","")
Sie können auch einen Ansatz verwenden, der die Art und Weise nutzt, wie Excel mit „Zellenüberlauf“ umgeht, wenn die Zellen Text enthalten. Nehmen wir zum Beispiel an, dass (erneut) Ihre Benutzereingabe in Zelle B4 erwartet wird.
Sie können Spalte A sehr eng machen – beispielsweise etwa ein Zeichen breit – und dann in Zelle A4 einige Male die Leertaste drücken und „Kundenname“ eingeben. Solange sich in Zelle B4 nichts befindet, wird angezeigt, was Sie in Zelle A4 eingegeben haben, aber es sieht so aus, als ob es sich in Zelle B4 befindet. Wenn jemand etwas in Zelle B4 eingibt, wird die Anzeige dessen, was sich in Zelle A4 befindet, blockiert. Falls gewünscht, können Sie den Text in Zelle A4 sogar hellgrau gestalten, damit er bei der Anzeige gedämpft erscheint.
Wenn Sie eine Makroroute bevorzugen, möchten Sie eine erstellen, die ausgelöst wird, wenn sich das Arbeitsblatt ändert. Dies würde in das Codemodul für das verwendete Arbeitsblatt gehen:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$4" Then If Target = "" Then ' Cell is empty; mark it and make gray Target = "(Customer Name)" With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.249977111117893 End With Else ' Cell contains something; remove gray With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With End If End If End Sub
Beachten Sie, dass das Makro nur dann aktiv wird, wenn die zu ändernde Zelle Zelle B4 ist.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (614) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.