Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zelleninhalt während der Eingabe überprüfen
03.03.2016 14:20:24
Galahuhn
Hallo!
Erstmal wollte ich mich bedanken. Ich nutze das Forum jetzt schon seit 3 Monaten und habe mir damit viel zu VBA beibringen können.
Nur jetzt kam ich bei einer Problemstellung nicht weiter und verfasse somit zum ersten Mal selber einen Beitrag.
Ich nutze VBA in Excel. Jetzt wird bei dem Auswählen einer Zelle ein bestimmtes Makro über das Workbook_SheetSelectionChange-Ereignis ausgeführt, was auch wunderbar funktioniert. Auch das Überprüfen auf einen eingegeben Wert und das anschließende Ausführen des Makros ist kein Problem.
Was ich aber jetzt gerne hätte wäre, dass WÄHREND ich eine Eingabe tätige (ich befinde mich also noch mit dem Cursor in der Zelle), diese Eingabe direkt überprüft und gegebenenfalls ein Ereignis ausgeführt wird. Das passiert sonst erst, nachdem ich die Zelle wieder verlassen habe.
Ich bin mir sicher Ihr könnt mir helfen.
Viele Grüße,
Galahuhn

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 14:24:44
selli
hallo,
das würde mit einer textbox gehen.
mit einer zelle jedoch meines wissens nach nicht.
gruß
selli

AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 14:39:16
Galahuhn
Danke selli für die schnelle Antwort.
Lösungen mithilfe einer Textbox habe ich auch schon gefunden, die möchte ich nur leider nicht verwenden.
Das wäre natürlich schade, wenn es nicht möglich wäre.
Ich habe schon damit experimentiert, das Change-Ereignis in einer Dauerschleife laufen zu lassen, indem es immer wieder ausgeführt wird, solange ich die Zelle angewählt habe. Soweit die Theorie, funktioniert hat das leider nicht.
Grüße,
Galahuhn

Anzeige
AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 14:37:04
Daniel
Hi
wenn du direkt in eine Zelle eingibst, ist es nicht möglich die Eingabe noch während der Eingabe zu prüfen.
die Überprüfung während der Eingabe selbst ist nur bei einer ActiveX-TextBox möglich, weil diese über die entsprechenden Event-Makros verfügt (KeyDown, KeyPress, KeyUp, Change)
(das Change-Event der Zelle entspricht in etwa den AfterUpdate, Exit bzw LostFocus-Event der TextBox)
daher könntest du dir folgenden Workaround erstellen
1. erstelle eine AciveX-Textbox und statte sie mit den entsprechenden Makros aus.
2. im SelectionChange-Event führst du dann folgende Aktionen aus, wenn der Anwender eine entsprechende Zelle anklickt:
- TextBox sichtbar machen
- TextBox mit der angeklickten Zelle verknüpfen (linkedCell, dann haben Zelle und TextBox automatisch den selben Inhalt)
- TextBox auf die angeklickte Zelle verschieben und Grösse angleichen
- TextBox aktivieren
Damit gibt dann der Anwender nicht direkt in die Zelle, sondern in die ActiveX-TextBox ein und in der ActiveX-TextBox kannst du dann die Überprüfung dann während der Eingabe machen.
Gruß Daniel

Anzeige
AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 14:57:40
Galahuhn
Hi Daniel,
ich verstehe soweit dein Workaround. Vielleicht wäre es auch möglich, die Textbox versteckt zu halten und weiterhin in der Zelle seine Eingabe zu tätigen, während aber über linkedCell die Eingabe in der Textbox ebenfalls passiert und dementsprechend überwacht wird.
Die äußere Gestalt und Form der Arbeitsmappe sollte nämlich wenn möglich nicht verändert werden.
Viele Grüße,
Galahuhn

AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 15:33:40
Daniel
Hi
der Anwender muss schon die Eingabe direkt in die TextBox machen.
denn wenn du in die Zelle eingibst, wird auch bei einer LinkedCell-Verknüpfung die TextBox erst nach Abschluss der Eingabe aktualisiert.
Gibst du jedoch in die TextBox ein, wird die Zelle sofort aktualisert.
am besten "versteckst" du die TextBox, indem du sie direkt auf der Eingabezelle platzierst und in Grösse und Schriftart der Eingabezelle angleichst.
Das alles kannst du im SelectionChange-Event machen.
Für ein exaktes gleiches Verhalten wie beim Eingeben in eine Zelle (z.B. Verlassen der Zelle mit den Cursortasten) wird schon ein wenig Programmmieraufwand erforderlich sein, aber im Prinzip solltest du das in deine bestehende Tabelle einbauen können ohne deren Aufbau zu verändern.
hier mal als Beispiel, in Spalte A kann der Anwender nur Ziffern eingeben.
https://www.herber.de/bbs/user/104077.xlsm
Gruß Daniel

Anzeige
AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 15:44:14
Galahuhn
Hi,
okay danke schonmal für deine Hilfe. Ich werde mir das näher anschauen. Jetzt bin ich leider erstmal unterwegs. Wenn ich weitere Fragen habe oder die Lösung funktioniert hat, melde ich mich nochmal.
Grüße,
Galahuhn

AW: Zelleninhalt während der Eingabe überprüfen
03.03.2016 15:18:28
Rudi
Hallo,
das ist nicht möglich.
Im Eingabemodus läuft VBA nicht.
Gruß
Rudi

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige