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

Forumthread: Bedingte Formatierung schon bei Eingabe anwenden

Bedingte Formatierung schon bei Eingabe anwenden
12.05.2016 15:48:18
Christian
Hallo zusammen,
heute habe ich mal keine Frage zu VBA (oder vielleicht doch?).
Ich habe mir in Excel Eingabefelder gebaut, die der Nutzer ausfüllen kann.
Sind noch keine Eingaben vorgenommen worden, steht in den Feldern aber bereits Nummern (z. B.: "1." oder "2." und so weiter). Mittels bedingte Formatierung sind diese Nummern in hell grau gehalten, damit man sie zwar sieht, aber es auch klar ist, dass eigentlich noch keine Eingabe getätigt worden ist. Soweit, so gut...
Wenn jetzt jemand einen Wert in das Eingabefeld eingeben möchte, ist der Wert solange auch hell grau, bis die Zelleneingabe mittels der Enter-taste bestätigt wurde. Danach wird der Wert dank bedingter Formatierung normal schwarz.
Kann ich es irgendwo einstellen, dass sobald eine Zelle bearbeitet wird, ich also eine Eingabe machen, dieses aber noch nicht mit Enter bestätigt habe, der eingegebene Werte bereits normal schwarz ist. Das wäre nämlich sehr praktisch, damit man bei der Eingabe bereits sieht, ob man auch dass Richtige eingibt... ;-)
Gruß
Christian

Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nutze doch zusätzlich die Datengültigkeit ...
12.05.2016 15:55:38
...
Hallo Christian,
... damit kannst Du Fehleingaben verhindern.
Gruß Werner
.. , - ...

AW: Bedingte Formatierung schon bei Eingabe anwenden
12.05.2016 15:56:54
Beverly
Hi Christian,
der Vorgang muss erst mit Enter angeschlossen sein, ehe in der Zelle etwas bewirkt wird - die Antwort ist folglich m.E.: Geht nicht.


Anzeige
AW: Nachfrage..
12.05.2016 15:58:36
UweD
Hallo
Was verstehst du denn unter Eingabefeld?
Ein Textfeld?
- Formularsteuerung oder ActiveX
Gruß UweD

AW: Nachfrage..
12.05.2016 16:03:17
Christian
Hallo Uwe,
da habe ich mich ungenau ausgedrückt. Sorry.
Ich habe eine ganz normale Zelle als Eingabefeld auserkoren. Also kein ActiveX oder Formular.
Gruß
Christia

Anzeige
AW: und was spricht gegen Datengültigkeit? owT
12.05.2016 16:07:17
...
Gruß Werner
.. , - ...

AW: Bedingte Formatierung schon bei Eingabe anwenden
12.05.2016 16:19:25
Arthur
Hallo Christian.
Vielleicht hilft nachfolgender Ansatz bei deinem Vorhaben. Die Idee: alle Tasten mit einem OnKey-Event versehen. Nicht schön, aber eine Möglichkeit. In meinem Beispiel wird beim Drücken der ersten Taste der Event gestartet ... und, weil die Taste verloren gehen würde ... Echt nicht schön, aber entscheide selbst ob der Ansatz für dich von Nutzen ist.
Sub startMe()
Call Application.OnKey("a", "ColorChange")
End Sub
Public Sub ColorChange()
With Selection.Cells(1, 1).Interior
.Color = .Color + 50
End With
Selection.Value = "a"
End Sub
Anmerkung: Vor Jahren hat mir einer ein AddIn gestrickt, außerhalb der VBA, das einen Tastendruck erkennen konnte. Es muss nur jemand gefunden werden, der's weiß - wobei hier bei Herber eine Menge davon existieren.
Gruß, Arthur.

Anzeige
Hinweistext in der Eingabezelle
12.05.2016 16:19:28
Daniel
Hi
was du haben willst, ist quasi ein Hinweistext im Eingabefeld, der als solcher auch sofort sichtbar ist (bspw in grau und kursiv, wie man es aus Eingabeformularen im Internet kennt).
das kann man in Excel mit einem kleinen Trick ganz einfach realisieren:
- Schreibe den Hinweistext in die Zelle links vor der eigentlichen Eingabezelle
- Formatiere beide Zellen entsprechend (linke Zelle grau, rechte Zelle schwarz)
- Stelle die Spalte der linken Zelle auf die kleinstmögliche Spaltenbreite ein, bei der die Spalte noch nicht ausgeblendet ist (0,08 bzw 1 Pixel)
solange die rechte Zelle leer ist, wird der Text aus der linken Zelle über die rechte Zelle hinaus angezeigt.
sobald in der rechten Zelle etwas steht, hat diese natürlich Priorität und der Inhalt der linken Zelle wird am Rand abgeschnitten).
Gruß Daniel

Anzeige
AW: netter Trick ...
13.05.2016 16:23:13
...
Hallo Daniel,
... allerdings ist mir unklar, wie damit "man bei der Eingabe bereits sieht, ob man auch dass Richtige eingibt" realisiert werden soll.
Da der Fragesteller allerdings sich nicht mehr gemeldet hat, ist es wohl müßig sich darüber weiter Gedanken zu machen.
Gruß Werner
.. , - ...

Anzeige
AW: netter Trick ...
13.05.2016 16:33:03
Christian
Hallo,
der Fragesteller probiert immer noch herum und musste die hier vorgeschlagenen Lösungswege auch erstmal ausprobieren und dann noch zwischendurch seiner "normalen" Arbeit nach kommen. ;-)
Das Problem besteht aber weiterhin.
Ich habe den Trick versucht, da es sich aber um verbunde Zellen handelt, komme ich da nicht weiter...
Das nächste mal kann ich dann erst wieder am Dienstag morgen antworten und ich hoffe, dass dieser Threat solange offen bleibt... :-/
Gruß
Christian

Anzeige
AW: dann zeig doch mal (d)eine Beispieldatei ...
13.05.2016 16:38:39
...
Hallo Christian,
... und erkläre darin etwas konkreter, was Du mit "man bei der Eingabe bereits sieht, ob man auch dass Richtige eingibt" wirklich meinst.
Gruß Werner
.. , - ...

AW: dann zeig doch mal (d)eine Beispieldatei ...
13.05.2016 16:49:55
Christian
Hallo Werner.
Ich habe ganz normale Zellen zur Eingabe von Werten. In diesen Zellen stehen im Vornherein schon Werte, welche den Inhalt beschreiben und dem Anwender damit sagt, was er in die jeweilige Zelle eintragen soll (z. B. habe ich Zellen für Postleitzahlen, für Gewichte usw.). Dieser Text ist hell grau, die Zelle selber hat als Hintergrundfarbe weiß. Sobald der Anwender einen Wert eingibt soll dieser schwarz sein. Mit bedingter Formatierung arbeitet kann ich das steuern, jedoch erst, wenn der Anwender seine Zelleingabe mit der ENTER-Taste bestätigt hat. Während der Eingabe ist der Text noch hell grau und man kann ihn sehr schlecht erkennen um z. B. zu prüfen, ob man sich während der Eingabe vertippt hat oder z. B. ein Komma falsch gesetzt hat usw..
Gruß
Christian

Anzeige
Den Hinweis...
13.05.2016 17:18:16
Beverly
Hi Christian,
...in meinem Beitrag hast du gelesen?


AW: dann zeig doch mal (d)eine Beispieldatei ...
13.05.2016 17:27:29
Daniel
versuch mal, ob du auf die Verbundzellen verzichten kannst, dann könntest du ja meine Lösung einsetzen.
ansonsten müsstest du halt das Selection-Change-Event verwenden, um die Zellen schon beim anklicken entsprechend umzuformatieren.
noch einfacher wäre es, den Hinweistext einfach VOR die Eingabezelle hinzuschreiben und die Eingabezelle leer zu lassen.
Alternativ kannst du solche Hinweistexte auch als Kommentar hinterlegen oder über DATEN - DATENTOOLS - DATENÜBERPRÜFUNG.
hier dann keine Datenüberprüfung anlegen, aber den Text bei "Eingabemeldung" eingeben.
eine weiter möglichkeit wäre, dass du den Hinweistext in eine Zelle schreibst und dann die Eingabe in ein Textfeld aus den ActiveX-Komponenten machst.
Das Textfeld legst du über die Zelle.
Den Hintergrund stellst du transparent.
dann schreibst du für das Textfeld ein Change-Eventmakro, welches den Hintergrund auf Opak umstellt, wenn eine Eingabe gemacht wurde.
damit der Textfeldinhalt auch in einer Zelle steht, verknüpftst du das Textfeld mit einer Ausgabezelle.
Gruß Daniel

Anzeige
AW: dann zeig doch mal (d)eine Beispieldatei ...
17.05.2016 10:43:48
Christian
Hallo Daniel & Co.
ich werde auf die verbunden Zellen nur schwer verzichten können. Ich überprüfe jetzt mal die Möglichkeit:
"Alternativ kannst du solche Hinweistexte auch als Kommentar hinterlegen oder über DATEN - DATENTOOLS - DATENÜBERPRÜFUNG.
hier dann keine Datenüberprüfung anlegen, aber den Text bei "Eingabemeldung" eingeben."
Gruß
Christian

Anzeige
AW: netter Trick ...
13.05.2016 16:47:35
Daniel
nee, mit verbundenen Zellen funktionert mein Trick nicht.
diese werden nie von der Nachbarzelle überschrieben, auch wenn sie leer sind.
da wirst du dir was programmieren müssen.
Allerdings kannst du mit Excelmakros nicht eingreifen, während du in eine Zelle etwas eingibst.
du kannst vor der Eingabe was machen, wenn die Zelle angeklickt wird (im Selection-Change-Event) oder nach der Eingabe, wenn die Zelle wieder verlassen wird (im Change-Event)
wenn während der Eingabe ein Makro laufen soll, muss die Eingabe in eine Textbox aus den ActiveX-Steuerelementen erfolgen. Dort kannst du dann jeden Tastenanschlag per Makro überwachen.
Wenn du Fragen hast, solltest du immer gleich mit dazu angeben, ob Verbundene Zellen im Spiel sind oder nicht.
Verbundene Zellen müssen halt etwas anders behandelt werden als normale Zellen, nicht alles was in normalen Zellen funktioniert, geht auch mit verbundenen Zellen.
Daher ist es für das finden einer Lösung wichtig zu wissen, ob verbundzellen vorhanden sind oder nicht.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierung in Excel bei Eingabe sofort anwenden


Schritt-für-Schritt-Anleitung

  1. Bedingte Formatierung einrichten:

    • Wähle die Zelle oder den Zellbereich aus, den Du formatieren möchtest.
    • Gehe zu Start > Bedingte Formatierung > Neue Regel.
    • Wähle Eine Formel zur Ermittlung der zu formatierenden Zellen verwenden.
    • Gib eine Formel ein, die die Bedingung beschreibt, bei der die Zelle formatiert werden soll. Beispiel: =ISTTEXT(A1) für Text.
    • Wähle das gewünschte Format (z. B. Schriftfarbe schwarz) aus.
  2. Datenüberprüfung hinzufügen:

    • Gehe zu Daten > Datenüberprüfung.
    • Wähle die gewünschten Kriterien aus (z. B. Zahlen zwischen 1 und 100).
    • Aktiviere die Option Eingabemeldung, um einen Hinweistext in der Zelle anzuzeigen.
  3. Formeln zur dynamischen Farbänderung nutzen:

    • Um die Schriftfarbe während der Eingabe zu ändern, kannst Du ein Makro verwenden. Beispiel:
      Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
         With Target.Font
             .Color = RGB(0, 0, 0) ' Schwarz
         End With
      End If
      End Sub

Häufige Fehler und Lösungen

  • Problem: Die bedingte Formatierung funktioniert nur teilweise.

    • Lösung: Überprüfe die Formel in der bedingten Formatierung. Achte darauf, dass die Bezugnahme auf die Zelle korrekt ist und die Bedingungen stimmen.
  • Problem: Der Hinweistext in der Zelle wird nicht angezeigt.

    • Lösung: Stelle sicher, dass die Datenüberprüfung korrekt eingerichtet ist und die Eingabemeldung aktiviert ist. Der Hinweistext sollte sichtbar sein, solange die Zelle leer bleibt.

Alternative Methoden

  • Textfeld zur Eingabe verwenden:

    • Du kannst ein Excel-Textfeld verwenden, um Eingaben zu ermöglichen. Gehe zu Entwicklertools > Einfügen > Textfeld. Schreibe ein Makro, um die Formatierung sofort zu ändern, wenn der Benutzer etwas eingibt.
  • Hinweistext über verbundene Zellen:

    • Schreibe den Hinweistext in eine Zelle neben der Eingabezelle und verberge die Spalte dann so, dass nur der Hinweis sichtbar ist, solange die Eingabezelle leer bleibt.

Praktische Beispiele

  • Beispiel für eine Eingabezelle mit Hinweistext:

    • Angenommen, Du hast eine Zelle für Postleitzahlen. In Zelle A1 steht der Hinweis "PLZ eingeben", der in grau formatiert ist. Wenn der Benutzer etwas eingibt, wird dieser Text durch die Eingabe ersetzt.
  • Bedingte Formatierung für Gewichte:

    • In einer Zelle (B1) kannst Du eine bedingte Formatierung einrichten, die die Schriftfarbe ändert, wenn der Wert über einem bestimmten Grenzwert liegt, z. B. über 100 kg.

Tipps für Profis

  • Kombiniere bedingte Formatierungen:

    • Du kannst mehrere Regeln für eine Zelle erstellen, um verschiedene Zustände visuell darzustellen.
  • Verwende VBA für komplexe Anforderungen:

    • Wenn Du erweiterte Funktionalitäten benötigst, wie z. B. das sofortige Ändern der Schriftfarbe während der Eingabe, nutze VBA. Beachte dabei, dass die Eingaben in Textfeldern einfacher zu steuern sind.

FAQ: Häufige Fragen

1. Wie kann ich die bedingte Formatierung grau einstellen? Um die Schriftfarbe grau einzustellen, wähle beim Erstellen der bedingten Formatierung die Schriftfarbe auf grau.

2. Was ist der Vorteil von Datenüberprüfungen? Datenüberprüfungen helfen, Eingabefehler zu vermeiden und können mit einem Hinweistext versehen werden, um den Benutzer zu unterstützen.

3. Wie kann ich ein Textfeld für die Eingabe verwenden? Füge ein Textfeld über Entwicklertools > Einfügen > Textfeld hinzu und verknüpfe es mit einer Zelle, sodass die Eingabe automatisch dort gespeichert wird.

4. Können verbundene Zellen auch bedingte Formatierungen haben? Ja, jedoch müssen die Formeln und die Anwendung von bedingten Formatierungen angepasst werden, da verbundene Zellen sich anders verhalten.

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