Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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

Userform Hilfe

Userform Hilfe
31.10.2015 10:28:31
Peter
Hallo Excel Spezialisten,
ich benötige dringend Eure Hilfe.
Matthias hat mir unter unten a. Datei seine Hilfe angeboten. Das Suchen funktioniert einwandfrei. Das Ändern der Daten jedoch funktioniert nur bei Spalte A bei den weiteren Spalten jedoch nicht.
Ich habe keine Ahnung, wie ich das Makro zu CommandButton3_Click verändern soll um ein einwandfreies Ergebnis zu erzielen.

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


Vielen Dank für Eure Hilfe.
Gruss Peter

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Hilfe
31.10.2015 11:53:55
Peter
Hallo Peter,
dein Makro sucht im Bereich der Spalten A bis Z
If TextBox1.Text  "" Then 'Wenn Suchbegriff nicht leer
With wks.Range("A:Z") 'Suchbereich
Set rZelle = .Find(What:=TextBox1.Text, LookAt:=xlPart)
If Not rZelle Is Nothing And TextBox1.Text  "" Then
firstAddress = rZelle.Address

Wenn du weitere Spalten durchsuchen möchtest, musst du das Z in die gewünschte Spalte ändern.
Gruß Peter

AW: Userform Hilfe
31.10.2015 11:58:29
Peter
Hallo Peter,
Danke für Deine Antwort.
Es geht nicht darum ob ich mehr Spalten durchsuchen möchte, sondern es geht darum, dass ich
nach dem ich gesucht habe und durch Doppelklick das gesuchte ausgewählt habe und die Daten in
den entsprechenden Textboxen stehen, diese ändern möchte und die Werte dann in der Tabelle ändern
möchte.
Gruss Peter

Anzeige
AW: Userform Hilfe
31.10.2015 12:59:28
Peter
Hallo Peter,
davon stand in deiner Frage aber gar nichts!
Jedenfalls habe ich das da nicht herausgelesen.
Gruß Peter

AW: Userform Hilfe
31.10.2015 12:33:54
Matthias
Hallo Peter,
entschuldige, ich hatte deinen Beitrag aus den Augen verloren.
Das Problem liegt daran, dass es beim Schreiben des Wertes aus der Textbox für Spalte A das Event Listbox1_Click wieder triggert. Hätte ich das bemerkt, hätte ich es sofort behoben, s. Link:
https://www.herber.de/bbs/user/101156.xlsm
Um alle 53 Spalten zu nutzen, füge einfach weitere Textboxen hinzu (Textbox13-55) und ein entsprechendes Label dazu. Dann im "CommandButton3_Click"- und "Listbox1_Click"-Event an den mit Anmerkungen versehenen stellen die For-Schleife auf 55 erweitern.
lg Matthias

Anzeige
AW: Userform Hilfe
31.10.2015 12:50:20
Peter
Hallo Matthias,
habe die Datei gerade getestet funktioniert einwandfrei.
Werde es später in die Orginaldatei einbauen und fertig testen.
Jetzt hätte ich noch eine Bitte. Wenn ich eine gesuchte Zeile löschen möchte,
welches Makro verwende ich dann?
Gruss Peter

AW: Userform Hilfe
31.10.2015 13:40:51
Matthias
Hallo Peter,
habe einen 4. Commandbutton eingefügt mitsamt Event, sowie die Rücksetzung der UF in das Sub "Userform_Activate" gepackt, was an mehreren Stellen benötigt wird. Zudem habe ich die Variablen "wks" und "wksFilter" aus den Modulen genommen und ins "UF_Initialize" gepackt, damit sie nicht in jeden Makro erneut definiert werden müssen.
https://www.herber.de/bbs/user/101157.xlsm
lg Matthias

Anzeige
AW: Userform Hilfe
31.10.2015 16:14:08
Peter
Hallo Matthias,
besten Dank für Dein tolle Hilfe.
Jetzt nachdem mir diese Datei immer mehr gefällt, benötige ich zum Schluss noch
einen letzten Punkt: 5. Button Einfügen neuer Datensatz. Wäre super wenn Du mir
dies noch ergänzen könntest.
Vielen Dank
Gruss Peter

AW: Userform Hilfe
31.10.2015 17:52:59
Matthias
Hallo Peter,
im Grunde muss er ja nur alle TextBoxen3-55 leeren, die Selectierung der ListBox1 abwählen und dir die erste freie Zeile in TextBox2 eintragen. Dann gibst du deine Daten zu dem Eintrag ein und mit dem bereits vorhandenen Button "übernehmen" wird dein Datensatz eingetragen.
https://www.herber.de/bbs/user/101167.xlsm
lg Matthias

Anzeige
AW: Userform Hilfe
01.11.2015 08:46:45
Peter
Hallo Mattias,
besten Dank für Deine Hilfe. Jetzt hoffe ich, dass ich den Rest meiner Datei fertigstellen kann.
Falls es nicht klappt, weiss ich wo ich perfekte Hilfe erhalten kann - hier im Excel-Forum.
Wünsche Dir einen schönen Sonntag.
lg Peter

Suche über mehrere Blätter
01.11.2015 23:45:22
Dirk
Hallo Matthias, hallo Peter,
bitte entschuldigt meine "Einmischung".
Ich bastele ebenfalls schon länger an einer Lösung für ein ähnliches Problem und dieser Thread trifft auch für mich schon fast ins Schwarze.
Ergänzend zu Matthias' letztem Vorschlag ist bei mir das Problem, daß ich die Suche über mehrere (nicht alle) Blätter brauche.
In Matthias' angepasster Beispielmappe also über mehrere Beispiel-Blätter, die vom Aufbau her identisch sind.
Ich bekomme die Treffer aus dem Blatt "Beispiel-1" einfach nicht in die ListBox1 bzw. vorher auf das Blatt "Filter". Meine Idee, an 1. Stelle eine Spalte mit dem Blattnamen einzufügen bzw. die jetzige 1. Spalte um diesen zu erweitern, scheitern kläglich an meinen bescheidenen VBA-Kenntnissen.
Könntet Ihr mir da weiterhelfen...
Gruß
Dirk
https://www.herber.de/bbs/user/101181.xlsm

Anzeige
AW: Suche über mehrere Blätter
02.11.2015 07:48:51
peter
Hallo Dirk,
leider bin ich hier nicht der richtige Ansprechpartner.
Ich bin sehr froh, dass Matthias mir so toll helfen konnte. Bei der Technik,
mit welcher er hier gearbeitet hat, blicke ich leider nicht durch. Aber mit
Sicherheit, wird Matthias eine Lösung für dieses Problem finden.
Gruss Peter

AW: Suche über mehrere Blätter
02.11.2015 15:59:04
Dirk
Hallo Peter,
ich stelle den Beitrag mal auf offen.
Eigentlich ist es nicht richtig (Deine Frage wurde ja beantwortet), aber ein neuer Thread zum gleichen Thema passt auch irgendwie nicht.
Bleibt mir also nur zu hoffen, daß Matthias od. ein anderer "VBA-Guru" doch noch über den offenen Thread stolpert...
Gruß
Dirk

Anzeige
zu Dirks Frage
04.11.2015 02:53:17
Michael
Hi zusammen,
ich habe das Makro geändert: in Sub Userform_Activate und in das wks durch activesheet ersetzt und in Sub CommandButton1_Click() ebenso.
Das ist einerseits ein Schritt vorwärts, da das Makro jetzt klaglos auf jedem Blatt funktioniert, *von dem es aufgerufen wurde*, andererseits auch rückwärts, da es eben nur *dort* läuft.
Eine Variable als Worksheet zu dimensionieren, ist schon der richtige Weg, um die Geschichte flexibel zu halten und mehrere Blätter in einer Schleife zu verarbeiten, dem steht aber der Aufwand gegenüber, die Funktion der Sub Listbox1_Click() entsprechend anzupassen, mit der die jeweilige Zeile mit dem Wert "hinter" der Userform angesprungen wird - hier müßte also die Liste um eine Spalte erweitert werden, die nicht nur die Zeile, sondern auch den Namen des Blattes enthält, und ich bin mir gar nicht so sicher, ob sich hinter der UF ein anderes Blatt anzeigen ließe.
Also gut, ich hab's doch mal geändert: es werden beide Blätter durchsucht, nur daß die eingelesenen Zeilen-Angaben beim nicht im Hintergrund sichtbaren Blatt ein "!" verpaßt bekommen, so daß sie bei listbox_click nicht angesprungen werden.
Die Datei: https://www.herber.de/bbs/user/101234.xlsm
Happy Exceling,
Michael

Anzeige
zu Dirks Frage - Nachtrag
04.11.2015 14:35:06
Michael
Hi zusammen,
ich habe jetzt eine Spalte für das Blatt eingefügt, und die Anzeige unterschiedlicher Blätter hinter der UF tut auch - allerdings ist es etwas Handarbeit, eine Textbox für das Blatt anzulegen und die Nummerierung zu ändern.
Die Datei: https://www.herber.de/bbs/user/101247.xlsm
Schöne Grüße,
Michael

Fehler ListBox einlesen und zurückschreiben
04.11.2015 20:14:53
Dirk
Hallo Michael,
zunächst vielen Dank, dass Du Dich meiner Frage angenommen hast.
Dein 2. Vorschlag kommt meinem Ziel schon näher, daher habe ich damit weiter "experimentiert".
1. Im UF suchte ich nach abc, wobei der erste Treffer aus dem zweiten zu durchsuchenden Blatt fehlt (s. dort Zeile 8, rote Schrift).
2. Außerdem wird bei "Änderungen übernehmen" die Tabellenstruktur in der jeweiligen Zeile "zerschossen", also es wird in die falschen Spalten zurück geschrieben.
Würdest Du bitte nochmal drüberschauen?
Gruss
Dirk
P.S.: neueste Testmappe - mit geänderten TextBox-Nummern und diversen Änderungsversuchen im Code (auskommentiert) https://www.herber.de/bbs/user/101252.xlsm

Anzeige
AW: Fehler ListBox einlesen und zurückschreiben
05.11.2015 13:32:32
Michael
Hi Dirk,
ad 1: das hast Du so programmiert - daß nämlich keine Zeilen doppelt vorkommen sollen (das ist das CountIf) - ich habe eine weitere Variable letzteZeile (oder so) eingeführt, die das blattübergreifend erledigt.
ad 2: hier (und in fast allen weiteren Subs) steht noch "wkb", aber bei mehreren Blättern mußt Du Dich um das Anwählen des richtigen Blattes kümmern.
Teilweise habe ich das erledigt, auf mehr habe ich keine Lust, das wäre ein Programmierauftrag.
Das Anfügen neuer Zeilen habe ich mit einer msgbox und exit sub versehen, weil das nicht so einfach ist - siehe Kommentar im VBA: es läuft darauf hinaus, daß Du entweder immer in Blatt1 speicherst oder Dich darum kümmern mußt, daß der Anwender kein nicht vorhandenes Blatt eingeben kann.
Die Datei: https://www.herber.de/bbs/user/101270.xlsm
Unterm Strich ist es zwar nett, wenn *alle* gelben Blätter (das habe ich auch eingebaut, nebenbei) durchsucht werden usw., aber es ist ein Heidenaufwand, die "hintendran" hängenden Funktionen so zu gestalten, daß das reibungslos funktioniert. Andersrum: solange Du Dich nur auf *einem* Blatt bewegst, machst Du alle Operationen auf activeSheet und fertig. Und erst Recht: warum verflixt noch mal nicht alles in EINE Tabelle stecken, meinetwegen mit einem zusätzlichen Kennzeichen, was was ist: das wäre für meinen Geschmack der Königsweg.
Schöne Grüße,
Michael
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige