Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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.


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
.. , - ...

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

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

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige