Hallo! ALso hab mir das mal angeschaut. Wird nicht nur die erste Zeile (an Stelle von Spalte aktualisiert)? Ich bin mir nicht ganz sicher, was du genau aktualisiert haben möchtest. Nur die angeklickte Zeile in der Listbox oder die ganzen Daten? Bisher macht dein Code ja folgendes.
- Beim Starten der UF werden alle Daten gelesen und in einer Listbox eingetragen
- wenn du in der Listbox in eine Zeile klickst, werden die Daten in die Textboxen der UF übernommen
- beim Anklicken des Button werden die Daten aus der Textbox in die die Tabelle zurückgeschrieben.
Wieso möchtest du die Textboxen in allen Zeilen eintragen? Du hast doch nur den einen Datensatz in den Textboxen. Wenn deine if then duch alle x gehen würde (bricht ja bei deinem exit for in Codezeile 19 nach dem ersten Durchlauf ab) hättest du ja die Daten der Textboxen dann in allen Zeilen stehen (immer das selbe). Wenn du wirklich durch alle x gehst, solltest du die Daten von Zeile 1 bis x durchgehen, in den Textboxen anzeigen lassen und dann schreiben. Dann würde aber deine LIstbox keinen Sinn machen - könntest ja die Daten direkt aus dem Blatt in die Texboxen einlesen.
Also ich vermute, du willst nur die geänderten Werte (die Zeile in der LIstbox die angeklickt wurde) schreiben. DAnn würde ich an Stelle aller x nur die Zeile nehmen, in der die Daten stehen, die aktuell angezeigt werden. Dafür könnte x = .listindex +1 ausreichen.
Hoffe mal, dass ich dein Problem richtig verstanden haben. Ansonsten einfach nochmal schreiben. VG
|