Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
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
Inhaltsverzeichnis

Korrektur & Listbox

Korrektur & Listbox
Fatih
Hallo Ihr Lieben,
ich brauche wiedermal eure Hilfe.
Mittels Userform werden Daten in die Tabelle geschrieben, in der UF befindet sich auch eine Listbox und 3 Buttons mit - Übertragen - Löschen - Korrektur bzw.
Per Doppelklick auf die jeweilige Zeile in der Listbox werden die Tabelleneinträge wieder in die Textboxen geladen.
Die User sollen auch die Möglichkeit haben, bereits eingetragene Daten zu Ändern bzw. Korrigieren.
Ich habe mir das so vorgestellt, wenn der User die Daten per Doppelklick aus der Listbox ladet, sollen vorab mal die Textboxen schreibgeschützt sein, erst wenn er den Button "Korrektur" betätigt sollen Sie wieder aktiv sein und der User nimmt seine Änderungen vor.
In der Anlage hab ich eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/70444.xls
Vielen Dank und einen schönen Abend wünsch ich
lg aus Wien
Fatih

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

Betreff
Benutzer
Anzeige
AW: Korrektur & Listbox
05.07.2010 22:58:24
Mustafa
Hallo Fatih,
ändere den teil deines Codes mal so um :
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = ListBox1.List(Me.ListBox1.ListIndex, 0)
TextBox2.Value = ListBox1.List(Me.ListBox1.ListIndex, 1)
TextBox3.Value = ListBox1.List(Me.ListBox1.ListIndex, 2)
TextBox4.Value = ListBox1.List(Me.ListBox1.ListIndex, 3)
TextBox1.Locked = True
TextBox2.Locked = True
TextBox3.Locked = True
TextBox4.Locked = True
End Sub
und füge dies noch hinzu :
Private Sub CommandButton3_Click()
TextBox1.Locked = False
TextBox2.Locked = False
TextBox3.Locked = False
TextBox4.Locked = False
End Sub
Rückmeldung obs hilft wäre nett.
Gruß aus der Domstadt Köln.
Anzeige
AW: Korrektur & Listbox
06.07.2010 09:36:34
Fatih
Hallo Mustafa,
auch dir einen besonderen Dank für deine rasche Reaktion und Hilfe.
lg
fatih
Deine Korrekturen erfolgen aber nur ...
06.07.2010 08:53:30
Matthias
Hallo
... im UserForm (aber nicht in der Tabelle), Fatih
und da sind auch noch einige Fehler(chen) drin.
Zum Einen füllst Du bei .Activate die Variable(zeile ) mit einem Wert
zeile = Range("A65536").End(xlUp).Row
den Du aber dann bei BtnClick wieder überschreibst. zeile = Range("A65536").End(xlUp).Row + 1
Du korrigierst also nie den aktuellen Datensatz sondern legst immer einen "neuen Datensatz" an.
Desweiteren mußt Du den VBA-Fehler abfangen, der entsteht wenn Du in die Kopfzeile der Listbox
doppelklickst. (schon bemerkt?)
Du mußt also bei Doppelklick den Listindex größer/gleich Null abfragen.
Ich habe mal Deine Datei modifiziert, so wie ich das machen würde, wobei ich nicht alle Punkte berücksichtigt habe.
z.B. wenn kein Datensatz vorhanden ist, solltest Du die Kopfzeile ausschalten.
Aber Du willst ja sicher auch noch was tun ;o)
Anders als Mustafa, habe ich nicht mit .Locked, sondern mit .Enabled gearbeitet,
wobei aber beide Varianten möglich sind.
Weiterhin habe ich ein Button hinzugefügt, das es ermöglicht auch den aktuellen Datensatz zu ändern.
hier die überarbeitete Version:
https://www.herber.de/bbs/user/70447.xls
Gruß Matthias
Anzeige
AW: Deine Korrekturen erfolgen aber nur ...
06.07.2010 09:31:01
Fatih
Hallo und Guten Morgen Lieber Matthias,
vorerst bedanke ich mich bei dir für deine Hilfe und für die Umsetzung.
Einer meiner Probleme war auch das was du erwähnt hast, wenn kein Datensatz mehr in der Tabelle vorhanden ist, werden in der Listbox automatisch die Spalten Überschriften als Datensatz angezeigt, und die Kopfzeile wird zu "Spalte A" "Spalte B"
Du hast gemeint ich soll diese Ausschalten, aber wie mach ich das? In welche Zeile muss ich das einbauen.
Wenn du vielleicht Zeit hast bitte
Vielen Dank
lg fatih
Deine Korrekturen erfolgen aber nur ...
06.07.2010 09:38:12
Fatih
Hallo und Guten Morgen Lieber Matthias,
vorerst bedanke ich mich bei dir für deine Hilfe und für die Umsetzung.
Einer meiner Probleme war auch das was du erwähnt hast, wenn kein Datensatz mehr in der Tabelle vorhanden ist, werden in der Listbox automatisch die Spalten Überschriften als Datensatz angezeigt, und die Kopfzeile wird zu "Spalte A" "Spalte B"
Du hast gemeint ich soll diese Ausschalten, aber wie mach ich das? In welche Zeile muss ich das einbauen.
Wenn du vielleicht Zeit hast bitte
Vielen Dank
lg fatih
Anzeige
hier nochmal überrarbeitet ...
06.07.2010 10:51:58
Matthias
Hallo Fatih
Ist das so wie Du es möchtest ?

Die Datei https://www.herber.de/bbs/user/70452.xls wurde aus Datenschutzgründen gelöscht


Lösche den Datensatz
Dannach starte das Formular neu.
Nun ist alles deaktiviert und die Kopfzeile ist nicht mehr zu sehen.
Dieses bewirken die If-Anweisungen im .Activate des Userforms.
Willst Du einen Datensatz anlegen, so mußt Du in die Listbox doppelklicken
Daraufhin wird "Bearbeiten" aktiviert". Nun kannst Du wieder einen neuen 1.Datensatz anlegen.
Sollte ich was vergessen haben oder Du endeckst noch einen Fehler, einfach nochmal melden.
Gruß Matthias
Anzeige
Wunderbar Danke....
06.07.2010 11:02:17
Fatih
Vielen Vielen Dank Matthias, hab wieder was dazu gelernt.
Wünsch dir noch einen schönen Tag
lg aus Wien
fatih

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige