Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1752to1756
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

Tabelle per Userform bearbeiten

Tabelle per Userform bearbeiten
15.04.2020 16:44:07
Marvin
Hallo zusammen,
ich bin relativ frisch hier und beschäftige mich seit ein paar Wochen mit Excel VBA.
Dabei bin ich jetzt auf das folgende Problem gestoßen, bei dem ihr mir hoffentlich helfen könnt.
Ich möchte gerne eine Tabelle mit vier Spalten A:D per Userform bearbeiten.
Bisher habe ich es geschafft neue Einträge über die Userform zu ergänzen.
Zusätzlich würde ich diese Einträge gerne mit Hilfe einer ListBox auslesen und bearbeiten können.
D.h. in meiner ListBox1 werden die Einträge der Spalte B aufgelistet. Wenn man einen Eintrag anklickt, sollen meine TextBoxen die Einträge aus der Tabelle auslesen. Anschließend möchte ich diese Eingaben anpassen und mit dem CommandButton1 speichern und in die Excel Liste übertragen.
Bisher sieht mein Code so aus:
Private Sub CommandButton3_Click() 'Neuer Eintrag
Worksheets("Tabelle1").Activate
Range("A2").Select
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(last, 1).Value = UserForm1.TextBox1.Value
ActiveSheet.Cells(last, 2).Value = UserForm1.TextBox2.Value
ActiveSheet.Cells(last, 3).Value = CDate(UserForm1.TextBox3.Value)
ActiveSheet.Cells(last, 4).Value = UserForm1.TextBox4.Value
UserForm1.TextBox1.Value = ""
UserForm1.TextBox2.Value = ""
UserForm1.TextBox3.Value = ""
UserForm1.TextBox4.Value = ""
End Sub
Private Sub CommandButton2_Click() 'Abbrechen
UserForm1.TextBox1.Value = ""
UserForm1.TextBox2.Value = ""
UserForm1.TextBox3.Value = ""
UserForm1.TextBox4.Value = ""
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
ListBox1.RowSource = "B2:B" & Sheets(1).Cells(Cells.Rows.Count, 1).End(xlUp).Row
End Sub

Über dieses Link könnt ihr meine Beispieldatei öffnen.
https://www.herber.de/bbs/user/136757.xlsm
Vielen Dank.
Gruß,
Marvin

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle per Userform bearbeiten
15.04.2020 17:26:55
Regina
Hi Marvin,
einen Eintrag aus der Listbox kannst Du über das Doppelklick-Ereignis in Deine Textboen übernehmen. Anhnad des Listindex kannst Du die Zeilennummer im Tabellenblatt berechnen. Der Listindex beginnt mit 0.
Diese Zeilennummer kann man sich in einer modulweiten Variablen merken und dann auch zum Rückspeichern in das Tabellenblatt nutzen.
ich habe Dir das mal eingebaut:
https://www.herber.de/bbs/user/136761.xlsm
gruß Regina
AW: Tabelle per Userform bearbeiten
16.04.2020 20:47:02
Marvin
Hi Regina,
vielen Dank für die schnelle Antwort.
Genauso habe ich mir das vorgestellt.
Leider habe ich es nicht geschafft, diesen Code in meine eigentliche Datei (To-Do Liste) zu übertragen.
Daher habe ich meine Liste jetzt nochmal hochgeladen.
https://www.herber.de/bbs/user/136794.xlsm
Die Datei besteht aus fünf Tabellenblättern.
Im ersten Tabellenblatt "Übersicht" sind alle offenen To-Do's aus den Tabellenblättern "Projekte, Andere Themen, Tagesgeschäft" ab einer gewissen Fälligkeit (-10 Tage) aufgelistet.
In den bereits genannten Tabellenblättern 2-4 "Projekte, Andere Themen, Tagesgeschäft" sind die eigentlichen Aufgaben pro Bereich aufgelistet.
Im 5. und letzten Tabellenblatt sollen die erledigten Aufgaben archiviert werden.
Mein Wunsch wäre es jetzt, dass ich die gesamte Datei nur über die Userform steuern kann. (Schaltfläche "Formular starten")
Dafür müssten die CommandButton "Speichern" und "Entfernen" in der Userform noch mit Leben gefüllt werden.
Bei dem CommandButton "Speichern" sollen, wie in der ersten Datei, die Einträge per Listbox & Doppelklick in die Userform ausgelesen werden, damit man sie bearbeiten kann. (inkl. OptionButton und ComboBox)
Mit dem Klick auf Speichern müsste der alte Eintrag überschrieben werden.
Wäre es auch möglich die Einträge direkt in den Tabellenblättern 2-4 zu überschreiben und nicht im ersten Tabellenblatt "Übersicht"?
Der zweite CommandButton "Entfernen" soll die über die ListBox ausgelesene Aufgabe/Zeile aus der Tabelle entfernen.
Hier natürlich auch der Wunsch, dass die Zeile direkt in den Tabellenblättern 2-4 gelöscht wird.
Ich hoffe, ich habe das verständlich erklärt und du/ihr habt eine Lösung für mich.
Und bitte verzeiht mir den schlechten Code bei den anderen Funktionen...
Vielen Dank.
Gruß,
Marvin
Anzeige
AW: Tabelle per Userform bearbeiten
17.04.2020 07:42:06
Regina
Hi Marvin,
da gibt es ja jetzt erheblich mehr zu machen .... Warum lädst Du nicht gleich die richtige Mappe hoch?
Eine Unterteilung in verschiedene Blätter ist aus meiner Sicht nicht nötig und erschwert das Ganze nur. Packe alle Daten in die Übersciht und lass Dir per AutoFilter das jeweils gewünschte anzeigen. Dann passt auch mein Code.
Gruß Regina
AW: Tabelle per Userform bearbeiten
18.04.2020 19:56:47
Marvin
Hi Regina,
ich habe die Tabellenblätter jetzt gelöscht und den Code umgeschrieben.
Jetzt funktioniert auch dein Code - vielen Dank.
Allerdings bezieht sich der Code jetzt nur auf TextBoxen. Die ComboButtons konnte ich noch ergänzen.
Bei den OptionButtons stehe ich aber etwas auf dem Schlauch.
Wie kann ich OptionButtons in diesen Code mit einbinden?
Vielen Dank.
Gruß,
Marvin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige