05.03.2019, 12:49
Daten aus Listbox in Textbox,dort Anzeigen und ändern, anschließend zurückschreiben i
|
05.03.2019, 12:58
... na ich sags doch ... mit vollem Anlauf rein in den Fettnapf ...
Aber die Herrschaften nehmen das meist cooler als wir Nicht-Behinderte ... ist oft auch besser.
VG Sabina
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
05.03.2019, 17:55
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2019, 18:08 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hi Sabina,
aber nicht doch - ich sag dazu nur "Ein blindes Huhn findet auch mal ein Korn" :19: Das ist jetzt nicht auf Dein erlebtes zurückzuführen sondern eher auf mich gemünzt. So hat Dein Code: "Range("A" & CStr(ListBox1.ListIndex + 1)) 'Der ListIndex ist 0-basiert." mir sehr weitergeholfen. Ich mußte +1 nur dahin ändern in +7 so dass er in der 7. Zeile beginnt. Jetzt kann jeder Eintrag der Listbox ausgewählt und in den Textfeldern bearbeitet werden und das zurück schreiben in die Tabelle / aktualisieren funktioniert auch schon bedingt. Habe nach der Aktualisierung und neu anwählen in der Listbox noch ab und zu div. Laufzeitfehler, die hängen jedoch mit dem "Format" zusammen. Ist jetzt mühsames Stückwerk aber ich versuche sie nach und nach weg zu bekommen. Also mein Korn habe ich dank Deiner Hilfe gefunden. Wenn es weitere Probs gibt melde ich mich LG Jürgen PS: Darfst Dir die Flügel (engel) anziehen!!
07.03.2019, 18:54
(Dieser Beitrag wurde zuletzt bearbeitet: 07.03.2019, 19:28 von WillWissen.
Bearbeitungsgrund: Link zum Fremdhoster entfernt
)
Test2.xlsm (Größe: 139,94 KB / Downloads: 9) So Liebe Forum Gemeinde, nach dem ich mit Sabrina's Tipps und Hilfe ein enormes Stück weitergekommen bin hängt es jetzt mal wieder. Nach 2 weiteren Tagen Code vorlesen lasen und arbeiten mit Strg C und Strg V und mit Spracheingabe abändern finde ich nichts mehr an Code Schnippseln woraus ich meinen Fehler finden könnte. Im Anhang könnt Ihr den aktuellen Code herunterladen. Beschreibung wobei ich Hilfe Brauche: Wenn die Excel Tabelle geöffnet wird, wird automatisch die Userform1 geöffnet. Hier hat der Anwender die Möglichkeit in der Listbox einen Clienten auszuwählen. Wählt er einen Clienten aus, werden alle in der Tabelle vorhandenen Daten in gesperrtenTextboxen angezeigt und die Commandbuttons "Client bearbeiten", "Client Stammdaten bearbeiten" aktiv. Wählt man jetzt "Client bearbeiten" werden alle dafür vorgesehenen Textboxen aktiv, die Textboxen welche aus den Stammdaten in der Tabelle Ihre Informationen beziehen oder Berechnungen ausführen bleiben gesperrt. Ich habe bereits einen Code fertig für die Textbox17 und Textbox18. Hierkann der Anwender ein Datum im Format TT.MM.JJJJ eingeben. Dieses Datum wird geprüft ob es dem Monat und dem Jahre entsprechend richtig ist. Ist es falsch geht eine MsgBox auf mit dem Fehlerhinweis. Ist es richtig dann geht es weiter in die nächste Textbox. Mein Problem ist es, dass ich es nicht schaffe egal mit welchem Code, das im Falle der falschen Eingabe und nach schließen der MsgBox der Cursor wieder in der Textbox mit der Falscheingabe steht und diese mit gesamten Inhalt markiert ist. Bildlich gesprochen: Dateien (auch Bilder) bitte im Forum hochladen! Der Code für die Textbox17 sieht so aus: Für die Helfer die sich nicht alles herunterladen wollen Code: Private Sub TextBox17_Change() der Inhalt markiert ist. Schon mal lieben Dank Jürgen PS: Sabrina, habe die Fettnäpfchen alle zur Seite geräumt
07.03.2019, 19:33
Hallo Jürgen,
ich konnte leider deine Datei nicht testen (lag an einen fehlenden Verweis) aber normalerweise sollte es schon funktionieren denn du hast den Rückgabeparameter ja richtig gesetzt. Ziemlich umständlich deine Variablen Text1 bis Text6. Code: Private Sub TextBox17_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Gruß Stefan
Win 10 / Office 2016
07.03.2019, 20:12
Hallo Stefan,
danke Dir erst einmal, werde das morgen früh gleich testen und Dir bescheid geben. Der Code wird schon noch abgespeckt aber erst wenn er läuft. Auch das mit den Text Variablen. Bin aber absoluter Anfänger und baue erst mal mit Code Schnipseln. Bimo Jürgen
08.03.2019, 09:20
Hallo Peter,
ich habe Deinen Code getestet. Er scheint das Setfocus sowie das Cancel = True durchzuführen, jedoch ist nach dem zurückgehen über dies weder der Cursor in der Textbox, noch ist das Feld markiert. Hast Du eine Idee ?? Oder Jemand anderes Gruß Jürgen
09.03.2019, 09:46
(08.03.2019, 09:20)Merlin-1962 schrieb: Hallo Peter, Ups Sorry ich meinte Stefan lg Jürgen
Hallo Jürgen,
hat es einen bestimmten Grund, dass Du ShowModal = False brauchst? Denn genau deshalb funktioniert das Markieren der TextBox(en) nicht, sobald eine MsgBox ins Spiel kommt. Wenn ShowModal = True ist, funktioniert es so: Code: Private Sub TextBox17_Exit(ByVal Cancel As MSForms.ReturnBoolean) Da ist jetzt noch eine Abfrage drin, ob Me.Tag leer ist. Dadurch kann durch folgendes zusätzliches Ereignismakro eine eventuelle Meldung beim Schließen des Userforms vermieden werden: Code: Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Gruß Uwe
10.03.2019, 10:29
(Dieser Beitrag wurde zuletzt bearbeitet: 10.03.2019, 10:31 von Merlin-1962.)
(09.03.2019, 22:11)Kuwer schrieb: Hallo Jürgen, Hi Uwe, danke für den Tipp, werde das mal so einbauen. Jedoch mehr als Sicherheit, falls die Schreibassistensßz doch irgend einen Weg findet die Userform zu schließen außer den vorgegebenen. Ich habe das mit dem erscheinen der MSGBox beim Verlassen der Userform so gelöst dass -der Anwender überhaupt nicht an die Tabelle kommt. Beim Aufrufen des Worksheets sieht er nur ein leeres Blatt mit einem Button "Clienten öffnen", zusätzlich wird die Userform direkt selbstständig geöffnet. Die Userform kann nicht mehr verlassen werden mit dem "X" oben rechts, da es nicht mehr vorhanden ist und auch in der Funktion ausgeschaltet ist. Es wurden drei CommandButton in der Userform eingebaut mit denen er Die Userform verlassen kann. 1Button = Verlassen mit Änderung in die Tabelle übernehmen und Tabelle sichern, 1Button = Verlassen ohne Übernahme der Änderungen und abschließend 1 Button beenden von Excel mit Änderung und Sicherung der Tabelle. Mein Einziges Problem ist bis jetzt noch, dass wenn er in einer Textbox das Falsche Datum eingibt, die MsgBox sich öffnet und geschlossen wird, er zwar durch das Cancel= True wieder in der Textbox landet, dort aber nichts markiert ist und auch kein Cursor zu sehen ist. Das heist nach seiner Fehleingabe und schließen der MsgBox muss er die Textbox erst noch einmal mit der Maus anklicken so das ein Cursor erscheint. Hast Du da auch einen Tip oder vielleicht jemand anderes? Gruß Jürgen |
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste