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

An Onur Thema:"VBA - anstatt suche in Zelle"

An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 10:12:34
Marco
Guten Morgen alle zusammen,
mein Thema ist anscheinend geschlossen worden (vll ist die Zeit abgelaufen ka), daher muss ich den Beitrag nochmal posten, der an Onur richtet ist, da er mir ja am Wochenende helfen wollte. Tut mir leid das ich erst jetzt schreibe, aber du sagtest das du am Wochenende dafür Zeit hättest.
Beim letzten mal hast du das geschrieben:
1) Wo ist denn auf dem Dashboard 20001, 20002 usw geblieben?
2) Auf "Materialnummern & Stationen" sind nicht alle Stationen aufgeführt.
Ich habe vor lauter Test-Dateien anscheinend die falsche hochgeladen. Aber diesmal ist die richtige angehängt.
In dem Tabellenblatt "Materialnummern & Stationen" und im "Dashboard" sind jetzt alle Positionen aufgeführt. Die Stationen stehen im neuen Tabellenblatt untereinander. Wenn es für eine Station mehrere Bezeichnungen gibt so wird diese daneben hinzugeführt. Bei den Materialnummern verhält es sich genauso. Der VBA Code von dir soll das gleiche machen was er jetzt schon macht, aber mit dem Unterschied anstatt nur eine Materialnummer und nur einen Stationsnamen heranzuziehen mehrere für die gleiche Position abfragen. Ich hoffe du kannst dich noch daran erinnern:
Zum Thema "anderes Tabellenblatt" - Könnte man natürlich machen, müsste man nur den ganzen Code wieder ändern.
Viele Grüße Marco
Beispiel Datei: https://www.herber.de/bbs/user/116649.xlsm

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 17:04:14
Marco
Hi ich hab es gerade getestet. Und erhalte folgende Fehlermeldungen:
1. Wenn eine Materialnummer in der Datenbank steht die nicht im Tabellenblatt "Materialnummern & Stationen" hinterlegt ist, was vorkommen kann, kommt die Meldung: Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs". Wenn da eine Materialnummer ist die es noch nicht im dritten Tabellenblatt gibt sollte diese ignoriert werden und nicht die prozedur stoppen. Wenn es geht vielleicht auch eine Message kommen mit dem hinweis das es diese Nummer noch nicht gibt.
2. Wenn ich einen neuen Stationsnamen oder eine Nummer z.B. neben 20001 im Tabellenblatt 3 hinterlege und dieser Stationsname auch in der Datenbank steht kommt die Fehlermeldung: Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs".
3. Eine andere Frage ist es programmiertechnisch gut oder schlecht, wenn die ganzen Materialnummern und Stationsnamen die im Tabellenblatt 3 hinterlegt sind auf die Dashboard Seite kopiert werden? Könnte man nicht nur auf die Werte von Tabellenblatt 3 zugreifen ohne die Namen der Stationen und Materialnummern dahin zu kopieren? Ich benötige diese Darstellung nämlich nicht. Das habe ich nur früher so gemacht weil ich da mit Formeln in den Zellen gearbeitet habe und mir nicht anders zu helfen wusste. Wenn es aber für den VBA Code und deren Abfrage erforderlich ist kann es natürlich stehen bleiben.
Sorry wenn ich dich so lang aufhalte und so viel schreibe.
VG Marco
Die Materialnummern nimmt er, also wenn ich eine neue hinzufügen und diese dann in der Datenbank auch hinterlegt ist, aber wenn ich einen neuen Stationsnamen hinzufügen z.B. bei 20001 den namen Tech oder eine andere Zahl dann bringt er den Fehler: Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs".
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 17:34:07
onur
Zu 1) Sollte ja eigentlich nicht vorkommen, denn in Blatt 3 sind ja deine Stammdaten, wenn sie vorkommen, hast DU deine Stammdaten nicht korrekt gepflegt (Könnte man aber durch Codeaufwand automatisch aufnehmen lassen)
Zu 2)Du hast nicht erwähnt, dass die Stammdaten dynamisch sein sollen (Könnte man aber durch ....).
Zu 3) DU wolltest unbedingt die Stammdaten auf Blatt3 haben (Könnte man aber durch NOCH MEHR ....).
Materialnummern hatte ich, glaube ich, auch dynamisch angelegt,die Stationen übernimmt der Code, wie vorher, von den Fehlermeldungen.Müsste ich mal ändern.
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 17:52:45
Marco
1) also es kann ja vorkommen das sich in der Datenbank neue Nummern ohne meines wissens einschleichen diese würde ich dann selber händisch hinzufügen sofern sie sinn machen. Also automatisch brauchen die nicht aufgenommen werden, das stell ich mir nämlich schwierig vor. Ich mein wie soll der Code wissen wo welche neue Materialnummer hin soll. Es würde reichen wenn der Code die neuen Nummern ignoriert und eine Meldung ausgibt welche Nummer neu sind. Das gleiche sollte auch bei den Stationsnamen sein, das wenn es in der Datenbank welche gibt die nicht im Stammdatenblatt (Tabellenblatt 3) stehen.
2) Mit Stammdaten meinst du die Stationsnamen oder? Also ich habe es vielleicht schon erwähnt, aber ich glaube meine Problembeschreibungen sind einfach schlecht. Zum Glück muss ich keine Anleitungen schreiben.
3) Ich glaube da habe ich mein Problem auch wieder falsch geschildert. Ich meine das die Stammdaten die im Tabellenblatt 3 stehen da genau richtig sind das ist Top. Meine frage war eher, ob man das kopieren der Stammdaten von Tabellenblatt 3 auf das Tabellenblatt 1 also Dashboard sich sparen kann? Wenn das aber zu aufwendigt ist, mach ich einfach den Text der Dashboard seite in Zelle G9, U9 usw.. einfach weiß.
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 18:03:50
onur
Zu 3) Kannst du ja weiss machen, aber bringt nix, der Code kopiert sie doch wieder dahin.
Habe ich so gemacht, weil es ursprünglich gedacht war, die Materialnumern von da auszulesen und das war einfacher für mich, sie dahin kopieren zu lassen, als den Code noch mehr zu verändern.
In der neuen Version wird der Code abgebrochen und wartet, dass du die fehlenden Stammdaten einpflegst.
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 19:42:31
Marco
Cool danke. Stationsnamen werden aber noch nicht erkannt oder? Also du hast da noch nichts geändert oder?
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 19:43:53
onur
Was genau meinst du damit?
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 22:07:11
marco
Wenn ich weitere Stationsnamen im Blatt 3 angebe und diese auch in Database angebe kommt die Meldung das ich diese Station doch bitte hinzufügen soll obwohl sie schon drin steht
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 22:12:31
onur
Wenn du auch noch weiter Stationsnamen eingeben willst, wo bitte sollen sie denn auf dem Dashboard zu finden sein?
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
30.09.2017 23:15:57
marco
Ich dachte dass das bei denen dann so ist wie bei den Materialnummern. Deswegen habe ich die Tabelle im tabellenblatt 3 gemacht
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 01:30:35
onur
Teste mal, indem du bei Blatt 3 Anlagen entfernst oder hinzufügst.
https://www.herber.de/bbs/user/116664.xlsm
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 10:44:57
marco
Funktioniert leider nicht. Also wenn ich Stationen hinzufüge oder lösche und diese dann zum testen in der Datenbank Einträge kommt die Meldung das es nicht vorhanden ist.
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 11:10:27
onur
Kann dir nicht folgen.
Siehe hier (achte auf 20097 und 20098)
Was genau hast du denn wo genau gelöscht bzw hinzugefügt?
https://www.herber.de/bbs/user/116669.xlsm
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 11:36:58
Marco
Jetzt check ich erst was du gemacht hast. Wenn ich eine neue Station hinzufüge oder eine lösche erweiter sich das auf der Dashboard Seite nach unten. Das ist zwar super, aber das habe ich gar nicht gemeint.
Ich meinte wenn ich einer vorhanden Station z.B. der 20001 im Tabellenblatt 3 einen weiteren Namen gebe z.B. 11111 (siehe Bild 1)und dieser auch in der Datenbank vorkommt (siehe Bild 2), das dann alle Fehler der Station 20001 angezeigt werden. Damit mein ich das wenn die Station 20001 im Tabellenblatt 3 mehrere unterschiedliche Bezeichnungen hat und diese auch in der Datenbank gefunden werden mir dann alle Fehler der Stationen 20001 angezeigt werden (siehe Bild 3). Praktisch so wie es aktuell bei den Materialnummern ist.
Bild 1
Userbild
Bild 2
Userbild
Bild 3
Userbild
Beispiel Datei:
https://www.herber.de/bbs/user/116673.xlsm
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 11:44:22
onur
Vergis es, nur Spalte 15 auf Blatt3 ist für Anlagennummer relevant.
Wenn du Anlagen hinzufügen willst, nur hier.
Ich baue nicht wieder alles um.
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 12:29:54
marco
Okay schade, aber trotzdem vielen Dank für deine Hilfe. Würdest du es machen wenn ich dir dafür was überweise?
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 12:32:29
onur
z.B.?
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 13:17:07
Marco
Keine Ahnung ich habe noch nie so einen Dienst in anspruch genommen und ich weiß mir leider nicht mehr anders zu helfen. Ich habe selber nur einen Grundkurs in Excel gehabt das reicht leider nicht für diese Anwendung aus. Und die letzte noch offene Aufgabe (mehrere Stationsnamen), um die ich dich gebeten habe ist essenziell für mein Excel Tool. Ich verstehe auch das du nach dem ganzen hin und her keine Lust mehr und viel Zeit dafür geopfert hast. Daher sag mir was ich tun kann und ich schau obs geht oder nicht.
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 13:53:01
onur
Hast du dran gedacht, daß dann das Blatt Dashboard immer unübersichtlicher und nichtssagender wird?
Du hast jetzt schon in einem Block die Fehlermeldungen von mehreren Materialien, wenn du nun auch noch mehrere Anlagen zusammenfassen willst, hast du im Extremfall 8-10 Blöcke zu einem Block zusammengefasst.
Ausserdem waren die Anlagen bis jetzt 5-stellige Zahlen und deren Sortierung war aussagekräftig für die Ermittlung der Bereiche und dies habe ich auch im Code so benutzt.
Wenn die Bezeichnungen jetzt auch noch aus Text bestehen sollen, muß ich verdammt viel im Code ändern (als ob man in einem Hochhaus nachträglich einen Aufzugsschacht einbauen wollte).
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 14:18:56
Marco
Hm das hört sich nach mega viel aufwand, macht alles sicher sehr langsam und fehleranfälliger.
Dann vielleicht ein anderer Ansatz. Anstatt die ganzen unterschiedlichen namen abzufragen könnte man doch die Stationsnummern in Database automatisch umbenennen. Das heißt wenn ich auf den Button click werden zuerst alle Stationsnamen in "Data Base" mit den Namen aus Tabelle 3 verglichen und dann mit dem jeweiligen Namen aus Spalte 15 umbenannt. Zum Beispiel die Station 20001 ist der fixe namen und in Tabellenblatt 3 gibt es für die Station 20001 noch den namen 20101 oder Schrauben usw. Wenn im Tabellenblatt "Data Base" der Stationsnamen 20101 oder Schrauben vorkommt wird dieser Name durch 20001 ersetzt. Nach dem dann alle Stationsnamen in Database umbenannt wurden beginnt die normale Analyse.
Wäre das nicht einfacher?
Anzeige
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 18:16:26
onur
Gib mir mal deine Mailadresse
AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 19:37:06
onur
Teste mal:

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


AW: An Onur Thema:"VBA - anstatt suche in Zelle"
01.10.2017 20:01:47
Marco
Hier bitte Onur meine E-Mail Adresse: Marco98Hans@gmx.de
Vielen Dank für deine große Hilfe Onur
05.10.2017 23:57:05
Marco
Es funktioniert alles super ich bin dir sehr Dankbar.
Ich würde jetzt zum Schluss noch gerne deinen Code verstehen, also nicht im einzelnen sondern an welchen Punkten kann ich den Code anpassen, sollte sich was an meiner Auflistung am Dashboard ändern. z.B. wenn eine neue Station hinzukommt und ich deswegen eine weitere Zeile einfügen muss oder wenn ich die ausgeblendeten Spalten K bis S löschen möchte? Wie ich die Fehlerzahl hochsetzen kann weiß ich ja dank dir schon. Es wäre mir ganz recht wenn ich dich zum Code per E-mail nochmal befragen könnte.
VG Marco
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige