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

Schaltflächen funktionieren nicht.

Schaltflächen funktionieren nicht.
17.05.2022 10:18:50
Max
Hallo liebe Excelprofis,
Ich habe es bis jetzt mit Hilfe dieses tollen Forums geschafft eine ListBox zu erstellen, die mir Inhalte aus einer Tabelle anzeigt. Jetzt habe ich Schaltflächen erstellt, die die Aufgaben haben sollen, einmal die Maske zu leeren (also nach dem Anclicken des ListBox-Eintrags die Textfelder zu leeren), dann die "Daten löschen" Schaltfläche, die den ausgewählten Eintrag in der Tabelle vollständig löschen soll und den "Datensatz ändern" Button, der nach Auswählen und ändern in den Textfelder den Eintrag auch in der Tabelle überschreibt. Ich habe den Code aus einem Buch ("VBA mit Excel" von Bernd Held) übernommen und auch schon Änderungen vorgenommen, beim Debuggen zeigt er mir aber Zeilen an, die in meinem Verständnis richtig sind (Ich habe diese in der Testdatei markiert).
Kann mir da vielleicht jemand unter die Arme greifen?
https://www.herber.de/bbs/user/153093.xlsm
Wie immer vielen lieben Dank und beste Grüße
Max

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltflächen funktionieren nicht.
17.05.2022 11:23:57
Daniel
Hi
"Datensatz löschen" habe ich jetzt mir mal angeschaut.
das Löschen funktioniert, wenn du die ganze Zeile (EntireRow) löschst.
allerdings ist das ganze nicht ganz konsistent programmiert.
Die Listbox ist typ SingleSelect, trotzdem nutzt du die Methode, wie wenn die Listbox Multiselect wäre, allerdings ist dann noch ein Fehler drin, denn das Löschen der Zeilen müsste dann rückwärts, dh beginnend mit der letzten Zeile ausgeführt werden.
damit die richtige Zeile getroffen wird, solltest du RowSource nutzen:
für Multiselect-Listboxen so:

Private Sub Button3_DatensatzLöschen_Click()
Dim i As Long
For i = ListBox1.ListCount - 1 To 0 Step - 1   '(-1 wegen Row.Source)
If ListBox1.Selected(i) = True Then
Range(ListBox1.RowSource).Rows(i + 1).EntireRow.Delete
End If
Next
End Sub
für SingleSelect-Listboxen reicht das:

Private Sub Button3_DatensatzLöschen_Click()
With Listbox1
if .ListIndex >= 0 then Range(.RowSource).Rows(.ListIndex + 1).EntireRow.Delete
End with
End Sub
Gruß Daniel
Anzeige
AW: Schaltflächen funktionieren nicht.
17.05.2022 11:25:13
Rudi
Hallo,
1. müsste es

MultiPage2.Pages(0).ListBox1.Clear
heißen.
2. Da du der LB eine RowSource-Eigenschaft zugewiesen hast, kannst du sie nicht mit .Clear löschen. Entweder .RowSource="" oder durch Zuweisen der List-Eigenschaft füllen (was ich bevorzuge). Dann geht auch .Clear.

Private Sub UserForm_Initialize()
Dim wks As Worksheet: Set wks = Tabelle1
Me.Caption = wks.Range("B3").Value
With Me.ListBox1
.ColumnCount = 13
.ColumnWidths = "80;0;0;80;80;80;80;80;80;80;80;80;80"
.ColumnHeads = True
.List = wks.Range(wks.Cells(6, 1), wks.Cells(wks.Rows.Count, 1).End(xlUp)).Resize(, 13).Value
.SetFocus
End With
End Sub
Gruß
Rudi
Anzeige
AW: Schaltflächen funktionieren nicht.
17.05.2022 11:37:01
Max
Hallo lieber Rudi,
auch dir vielen leben Dank!
Ich muss nur leider beschämt gestehen, dass ich mit der ersten Zeile Code ("MultiPage2.Pages(0).ListBox1.Clear") nicht viel anzufangen weiß. Kann es sein, dass du glaubst, dass es zu Problemen kommt, wenn ich auf den anderen MultiPage Seiten auch ListBoxen erstelle (das ist nämlich mein Ziel)?
Danke und beste Grüße Max
AW: Schaltflächen funktionieren nicht.
17.05.2022 12:20:56
Yal
Hallo Max,
wenn Du nur eine Benutzerführung für Dateneingabe haben möchtest,
dann trenne deine Metadaten in 4 verscheidenen aktiven Tabellen (Einfügen, Tabelle. Kennst Du Schon).
Die erste reduzierst Du auf die 2 vorhandenen Firmen und nennst "tabFirma". Bei neue dazukommende Firma ergänzt sich die aktive Tabelle nach unten automatisch.
Dann im Erfassungsblatt baust Du ab Zeile 5 auch eine aktive Tabelle. Zeile 5 ist dann Überschrift.
In B6 legst Du mithilfe von Menü "Daten" > "Datenüberprüfung" > "Datenüberprüfung..." auf Zulassen "Liste" und in Quelle die Formel

=INDIREKT("tabFirma[Firma]")
Dann siehe was für Auswahl vorkommt, wenn Du den Dropdown in Zelle B6 verwendest. Dann füge eine Firma dazu in Blatt "Metadaten" hinzu und komme wieder auf B6 und prüfe nochmal die Dropdown-Liste.
Dasselbe mit alle andere Stammdaten-Elemente...
Da die Eingabe-Tabelle eine aktive Tabelle ist, werden jede neue zeil nach Unten automatisch diese Datenüberprüfung übernehmen.
Es tut mir unendlich Leid, wenn ein "Kaum Excel/VBA-Kenntnisse" sich ein solchen Überbau an Pseudo-Hilfsmittel in VBA ans Bein bindet, ohne zu wissen, wie man mit sehr einfache Standardfunktion 95% der Anforderung abdecken kann.
Du magst sagen "ich habe keine Zeit, das zu probieren, weil ich mein VBA fixen muss". Stellt dich darauf ein, dass Du mit VBA womöglich nie mehr Zeit für etwas anderes haben wird. Ich habe selber für diese Erkenntnis Jahre gebraucht. Ich kann dafür inzwischen VBA extrem gut, aber ich weiss vor allem, wann VBA zu vermeiden ist.
VG
Yal
Anzeige
AW: Schaltflächen funktionieren nicht.
17.05.2022 14:33:37
Max
Hallo Yal,
Auch dir nochmals vielen lieben Dank für deine ausführliche Antwort, entschuldige bitte die verspätete Antwort!
Wie du richtig erkannt hast, möchte ich eine Eingabemaske für drei Tabellen erstellen und nach folgendem Schema die Inhalte zur späteren Auswahl abspeichern: Firma A+B und Maschine 1+2 in eine Tabelle, Firma A+B und Maschine 3+4 in eine Tabelle und Firma A+B und Maschine 5+6 in dritte Tabelle. Die Daten sollen später in einem Dashboard angezeigt werden.
Leider habe ich gestaltungstechnisch nur wenig Spielraum und muss mich an Vorgaben halten und weiß leider nicht, ob deine Methode für mich auch funktioniert, da ich dir die "echte" Tabelle datenschutztechnisch leider nicht zur Verfügung stellen kann.
Wo siehst du bei meinem Vorgehen denn die größten Gefahrenpunkte?
Danke und Gruß Max
Anzeige
AW: Schaltflächen funktionieren nicht.
18.05.2022 09:48:01
Yal
Hallo Max,
ich sehe es so, dass mein Vorschlag die bisherigen Tabellen nicht ändern, ausser dass eine Datenüberprüfung und dafür einen Dropdown in der Zelle verfügbar ist.
Diese Datenüberprüfung könnte per Makro eingerichtet werden, falls mehrere Datei einzurichten seien.
Ich schätze ein, dass ein Proof of Concept, also das Einbauen der 2 benannten Massnahmen auf eine Kopie der Datei, unter 20 Minuten Aufwand bleibt. Daher würde ich nicht lang meine Zeit mit Forum-Posting und Antwort warten verbringen, sondern machen und dem Kunden vorzeigen.
Ich wurde aufpassen, zu viel "so muss es sein" kopfnickend abzunehmen: es muss der Auftraggeber stets gezeigt werden, dass jede Einschränkung ein zusätzliche Kosten darstellt und noch schlimmer ein zusätzliche Komplexität, die zu verspätete Zusatzkosten nicht nur führen kann, sondern -aus Erfharung- fürhen wird (wer kann an deinem Makro-Gewerk eine Änderung durchführen?)
Dass Daten in einer bestimmte Form vorliegen müssen, ist nur annehmbar, wenn diese von einem Folgesystem automatisiert aufgenommen werden sollen. Da auch ist zu prüfen, welche Kosten für das Anpassen dieses Hochladens verursachen würde.
Geld ist immer das Argument, das Widerstand gegen Änderungen am schnellsten abbaut.
VG
Yal
Anzeige
AW: Schaltflächen funktionieren nicht.
18.05.2022 11:24:07
Max
Hallo Yal,
Ich stimmte dir absolut zu und verstehe, dass sich der Aufwand aus deiner Sicht nicht lohnt, es steckt nur mehr dahinter als ich dir zeigen kann.
Das Projekt wurde dem Kunden in der Art und Weise (also mit der VBA Umsetzung) bereits gezeigt, außerdem hast du richtig vermutet, dass die eingegeben Daten direkt automatisch ausgewertet werden und anschließend als Dashboard angezeigt werden. Die Userform dient sozusagen als Schutz, dass die dahinterliegenden Tabellen nicht bearbeitet werden können um Fehler zu vermeiden. Deshalb soll das Vorgehen festgelegt werden um die 2x tägliche Eingabe der Daten zu standardisieren.
Ich danke dir von ganzem Herzen für die Gedanken, die du dir gemacht hast und für deine ausführlichen Antworten!
Beste Grüße Max
Anzeige
it ja witzig...
18.05.2022 12:20:25
Rudi

Das Projekt wurde dem Kunden in der Art und Weise (also mit der VBA Umsetzung) bereits gezeigt,
...und eigentlich eine Frechheit, einem Kunden etwas anzubieten, für das man nicht die nötigen Kenntnisse hat.
Gehst du zum Bäcker um dir die Haare schneiden zu lassen?
Noch witziger wird's bei notwendigen Pflegemaßnahmen
AW: it ja witzig...
18.05.2022 13:21:21
Max
Hallo Rudi,
ich verstehe deinen Frust, nur bin ich leider der Praktikant dem die Aufgabe gegeben wurde und die ich nun so gut es geht erfüllen muss.
Grüße Max
AW: Schaltflächen funktionieren nicht.
18.05.2022 13:36:52
Yal
Hallo Max,
in einem solchen Fall würde ich folgende Strategie wählen: jeder gibt seine Daten, wie er möchte, und zwar wie DU es bestimmt:
_ eine Spalte Maschine (es kommt den Dropdown/Datenüberprüpfung für Maschine im Einsatz)
_ eine Spalte für Kunde ( auch Dropdown/Datenüb. ...)
_ eine Spalte Firma
_ eine Splate Zeitverlust
Diese Aufstellung ist minimalistisch und von jeden Depp zu verstehen. Es ist aber gleichzeitig so dermassen standardisiert, dass Du jederzeit darauf ein Pivottabelle, eine Power Query Abfrage oder -aber nur wenn es nicht anders geht- eine VBA-Makro, die dir diese Daten in dem vereinbarten Übergabe-Format übergibt*.
Der Aufwand-Nutzen-Verhältnis des Vorhabens ist für mein Verständnis nicht nachvollziehbar. Ich hoffe, Du bist Extern und dementsprechend gut bezahlt. Kunden, die bereit sind, viel Geld für dumme Lösung zu bezahlen, muss man sich warm halten.
Bedenke jedoch, dass solche Lösung auf langer Sicht niemand glücklich macht (weder den Kunden, noch der Entwickler), und wenn es schief geht (und es wird schief gehen), ist der Entwickler immer der Schuldige.
*: oder in jegliche anderen Format, denn die Grundlage die volle Flexibilität bietet. Siehe Model-View-Controller Ansatz. Dann merkst Du, dass derjenige, der diese Format bestimmt hat, wenig Ahnung von Datenhandlung hat (war's aber nicht Du, oder ;-)
VG
Yal
Anzeige
AW: Schaltflächen funktionieren nicht.
18.05.2022 14:15:36
Max
Hallo Yal,
Ich stimme dir in allen Punkten zu, dem Punkt mit der guten Bezahlung widerspreche ich jedoch entschieden ;)
Außerdem habe ich zwar wenig Ahnung von Datenhandhabung, die Idee kommt jedoch nicht von mir :-)
Ich kann leider wirklich an der derzeitigen Situation nichts ändern und muss meine Aufgabe jetzt so gut es geht mit Eurer Hilfe zu Ende bringen.
Viele Grüße Max
AW: Schaltflächen funktionieren nicht.
22.05.2022 10:42:21
Herbert_Grom
Hallo Max,
ich denke, dass du da professionelle Hilfe in Form einer Auftragsprogrammierung brauchst! Wende dich doch an Hans W. Herber:
https://www.herber.de/kontakt.html
Servus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige