Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1020to1024
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
Microsoftprogrammierer kopieren
10.11.2008 16:56:00
Marco
Hallo alle zusammen,
ich habe eine stark untergliederte Tabelle mit vielen Punkten, Unterpunkten, Unterunterpunkten... usw. und möchte dem Benutzer einer Maske in die Lage versetzen aus dieser Liste komfortabel den gesuchten Punkt auszuwählen. Erst wollte ich mehrere Dropdownlisten machen aus der man erst aus der ersten auswählt und daraufhin die zweite mit Unterpunkten gefüllt wird. Diese wählt man dann auch aus und es öffnet sich ein weiteres Dropdown usw. Nur dummerweise kann es bis zu 8 Gliederungen geben. Ist wahrscheinlich also eher eine schlechte Idee. Viel schöner wäre es doch, wenn es eine Möglichkeit gäbe es genau so zu machen wie bei der VBA Programmierung. Beim schreiben eines Punktes nach einem Objekt wird einem eine Auswahl aller Funktionen angezeigt. Tippt man den ersten Buchstaben werden nur noch die zur Auswahl gestellt, die mit diesen Buchstaben beginnen. Kann man so etwas ähnliches auch in einer Maske programmieren?
Gruß Marco

28
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Microsoftprogrammierer kopieren
10.11.2008 17:11:59
ransi
HAllo MArco
Wenn du eine ComboBox als DropdDown nimmst, stell die Eigenschaft MatchEntry mal auf 1-fmMatchEntryComplete.
Dann hast du das Gewünschte.
ransi
AW: Microsoftprogrammierer kopieren
10.11.2008 17:33:07
Marco
Hallo Ransi,
eine Combobox ist natürlich eine Möglichkeit. Nur kann man dann während des Eintippens alle möglichen weiteren Auswahlmöglichkeiten sehen? Wenn ja, dann werden aber sicher auch die 8-Steller schon angezeigt werden. Dies wäre zu unübersichtlich. Es sollte nur die nächste Stufe der Gliederung angezeigt werden und nicht schon die 8-Steller.
Gibts noch eine andere Möglichkeit?
AW: Microsoftprogrammierer kopieren
11.11.2008 16:33:00
Timo
Hallo Marco,
das läßt sich mit einigem Aufwand in adäquater Weise programmieren (hatte soetwas ähnliches schon mal). Die Frage ist nur, ob da der Nutzen den Aufwand rechtfertigt. Ich hatte seinerzeit schon über 300 Zeilen an Code um etwas ähnliches zum laufen zu bringen. Das Programmieren und vor allem Austesten artete dabei wirklich in schweißtreibende Arbeit aus.
Tipp vielleicht für eine andere Lösung:
Wie wäre es mit einem TreeViewControl?
Der wäre wie der Verzeichnisbaum beim WindowsExplorer aufgebaut und obendrein noch komfortabel zu bedienen.
Oder aber du nimmst eine Listbox, in welche Du bei der Initialisierung die Werte der Untersten Ebene einliest. Bei Auswahl oder Eingabe durch den User löschst Du dann die Einträge, überträgst den Wert in eine Zwischenvariable (angezeigt per Label) und liest die nächsthöhere Auswahlebene ein. Das mit dem löschen, Zwischenvariable und einlesen müsste dann so oft wiederholt werden, wie es Auswahlebenen gibt. - Das ist aber dennoch wieder eine Heidenarbeit! Unter Umständen sind das auch über 100 Zeilen Code.
Gruß
Timo
Anzeige
AW: Microsoftprogrammierer kopieren
11.11.2008 17:09:41
Chris
Servus Marco,
schau mal in die Beispieldatei:

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


@Timo:
wieso 300 Zeilen Code, geht doch mit der ComboBox ganz einfach.
Gruß
Chris
AW: Nachtrag
11.11.2008 17:21:00
Chris
Servus Marco,
unter Eigenschaften der Combobox bei MatchEntry den Eintrag auf 2-fmMatchEntryNone stellen, sonst selektiert er bei den Einzelbuchstaben immer den ersten Eintrag mit diesem Anfangsbuchstaben, also z.B bei b nimmts ba, statt alle mit b.
Gruß
Chris
Anzeige
AW: Microsoftprogrammierer kopieren
11.11.2008 17:34:00
Marco
Hi Chris,
das Problem ist noch nicht ganz gelöst.
Die Combobox zeigt alle Einträge mit a an. Also auch alle Einträge der untersten Gliederung. Bei dem Ändern der Eigenschaft werden gar keine Werte mehr angezeigt. Somit hab ich noch keine Lösung für das Problem. Abgesehen davon besteht bei der Combobox die Gefahr, dass die Liste zu lang ist und ein Scrollen durch eine Liste würde den Suchvorgang unnötig verlängern.
Gruß
Marco
AW: Microsoftprogrammierer kopieren
11.11.2008 19:17:00
rofu
hallo,
hilft dir das weiter?
gruß
rofu
https://www.herber.de/bbs/user/56685.zip
Anzeige
AW: Microsoftprogrammierer kopieren
12.11.2008 09:46:22
Marco
Hallo Rofu,
wir kommen der Lösung immer näher. Jetzt werden gefiltert nur noch die Werte aufgeführt, welche aufgrund der eingegebenen Buchstaben noch möglich sind. Jedoch sollte nur die nächsttiefere Ebene angezeigt werden und nicht die Einträge komplett. Aber ein großer Schritt war dies in jedem Fall.
Vielen Dank Rofu
AW: Microsoftprogrammierer kopieren
12.11.2008 12:56:14
robert
hallo marco,
leider verstehe ich das problem noch nicht ganz.
könntest du an einem beispiel zeigen was gewollt ist?
basierend auf der datei die ich dir geschickt habe.
gruß
robert
AW: Microsoftprogrammierer kopieren
12.11.2008 13:04:31
Marco
Hi,
ich erkläre es in Worten! Es handelt sich um einen Kostenstellenplan. Die Nummern sind 8 stellig und untergliedert. Die erste Ziffer differiert zwischen:
1 - Geschäftsführung
2 - Verwaltung
usw.
dann kommt die zweite Gliederung:
(Annahme beim ersten 2 eingetippt)
21 - Buchhaltung
22 - Controlling
23 - Personalwesen
usw.
dann kommt die dritte Gliederung:
(Annahme beim ersten 1 eingetippt)
211 - Leitung Buchhaltung
212 - Sachbearbeiter Buchhaltung
213 - Software Buchhaltung
usw.
Die ganzen Strings sind in dem Kostenstellenplan vorhanden. Ich werde sie mir nur automatisiert abrufen müssen.
Gruß Marco
Anzeige
AW: Microsoftprogrammierer kopieren
12.11.2008 14:35:48
Chris
Servus,
ich hab's jetzt mal überarbeitet:
das Trennzeichen ist der Punkt.
will heißen:
Du gibst z.B. aa ein dann den Punkt(.) , dann kommt die nächste Ebene.
https://www.herber.de/bbs/user/56699.xls
Ich hab's jetz mal für 2 Ebenen programmiert.
Gruß
Chris
Die Einträge aus der Listbox sind auswählbar.
AW: Microsoftprogrammierer kopieren
12.11.2008 15:29:16
Marco
Hallo Rofu, hallo Chris,
erstmal danke für eure Mühe.
@Chris: Das ist es noch nicht. Die Lösung mit dem Punkt ist zu aufwendig. Bei 8 Untergliederungen müssen die Benutzer jedesmal 8 Punkte eingeben. Abgesehen davon muss in abhängigkeit der ersten eingegebenen Zahlen verschiedene Listen geöffnet werden.
@Rofu: Nach wie vor werden bereits die Endwerte dargestellt und nicht nur die nächste Ebene.
Idee: Ich schick mal ne einen Auszug als Datei mit. Dann wirds auch eher klar, was das Ziel ist.
https://www.herber.de/bbs/user/56704.xls
Mit den Nummern soll natürlich auch jedesmal der Text stehen, der sich rechts der Nummer befindet. So hat der Benutzer immer die Übersicht, welche Zahl er als nächstes drücken muss, um im Endeffekt auf die richtige Kostenstellennummer zu kommen.
Anzeige
AW: Microsoftprogrammierer kopieren
12.11.2008 15:37:00
Marco
Hallo,
hier ein besseres Beispiel:

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


AW: Microsoftprogrammierer kopieren
12.11.2008 17:51:12
rofu
hallo marco,
es tut mir leid, aber ich kann aus deiner datei nicht erkennen, was da passieren soll.
du sprichst deutsch, ich spreche deutsch...
aber anscheinend reden wir aneinander vorbei.
tut mir leid, wenn keine näheren info's, bin ich draussen-schade
gruß
rofu
AW: Microsoftprogrammierer kopieren
12.11.2008 17:59:14
Marco
O.k. ich erkläre es nochmal!
Nehmen wir an ich möchte die Kostenstelle "CNC-Programmierung" auswählen, habe aber nicht im Kopf, welche Kostenstelle dies ist. Solang das Feld, wie auch immer es aussehen mag, noch leer ist soll jetzt angezeigt werden.
3XXXXX Vertrieb
4XXXXX Produktion
Da ich weiß meine Kostenstelle wird der Produktion angehören tippe ich die 4 ein.
Daraufhin soll die Anzeige umspringen auf:
400XXX Werksleitung
401XXX Arbeitsvorbereitung
402XXX Stahlwerk
Da ich weiß meine Kostenstelle wird der Arbeitsvorbereitung angehören tippe ich die 01 ein.
Daraufhin soll die Anzeige umspringen auf:
40111X Arbeitsvorbereitung Stahlwerk
40112X Arbeitsvorbereitung Schmiede
40113X Arbeitsvorbereitung Mechanische Bearbeitung
Da ich weiß meine Kostenstelle wird der Arbeitsvorbereitung Mechanische Bearbeitung angehören tippe ich die 13 ein.
Daraufhin soll die Anzeige umspringen auf:
401 131 Fertigungssteuerung mechanische Bearbeitung
401 132 Arbeitsplanerstellung
401 133 CNC-Programmierung
401 134 Verlagerung
Jetzt noch eine 3 und schwupps hab ich die richtige Kostenstelle eingegeben.
Ist es jetzt klar geworden?
Anzeige
AW: Microsoftprogrammierer kopieren
12.11.2008 19:32:34
Chris
Servus,
schau mal, ob das passt:
ich hab das jetzt auf deine Beispieldaten angepasst:

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


Gruß
Chris
AW: Microsoftprogrammierer kopieren
13.11.2008 07:38:00
Marco
Hallo ihr beiden,
so spät noch allzeit bereit. Vielen Dank für die Hilfe. Werde mir die Sachen heute genauer anschauen und dann Rückmeldung geben. Werd mich dann melden.
Danke nochmals
Anzeige
AW: Nachtrag
13.11.2008 08:29:00
Chris
Servus Marco,
hatt noch einen kleinen Fehler entdeckt. Hier die überarbeitete Version. (Jetzt mit Doppelclick auf Listboxeintrag zum Wechseln der Ebenen)
https://www.herber.de/bbs/user/56724.xls
Gruß
Chris
AW: Nachtrag
13.11.2008 14:51:59
Marco
Hi Chris!
Im Grunde genommen ist es das!! Nur in das Textfeld oben kann ich nichts eingeben. Das mit dem Doppelklick funktioniert jedoch einwandfrei. Kann man das Textfeld oben so einrichten, dass bei der Eingabe einer Zahl die Ebenen gewechselt werden?
Gruß Marco
AW: Jetzt aber!
13.11.2008 17:53:00
Chris
Servus Marco,
jetzt geht beides Textbox und Doppelclick.
https://www.herber.de/bbs/user/56758.xls
Viel Spass und Gruß
Chris
Anzeige
AW: Jetzt aber!
14.11.2008 07:58:00
Marco
Guten morgen Chris!
Das sieht ja wirklich verdammt gut aus! Genau das war das was ich suchte! Werde die Programmierung zu Grunde legen und Sie auf den akuten Fall anpassen. Werde im Quellcode ein Kommentar einfügen, der an dieser Stelle an Dich gedenken wird.
Vielen Dank nochmal, dass Du Dir die Mühe gemacht hast.
Gruß Marco
AW: Microsoftprogrammierer kopieren
13.11.2008 14:50:18
Marco
Das hilft nicht!
AW: Microsoftprogrammierer kopieren
13.11.2008 16:22:31
rofu
hi,
danke für die nette antwort.
hättest wenigstens schreiben können, warum es dir nicht hilft.
es gibt 2 möglichkeiten:
entweder du verstehtst nicht was ich dir geschickt habe
oder
ich verstehe noch immer nicht was du eigentlich willst.
Anzeige
AW: Microsoftprogrammierer kopieren
14.11.2008 08:19:16
Marco
Hi Rofu,
das war nicht böse gemeint, aber die Datei war scheinbar nur zum Suchen von Texten geeignet.
Das was der Chris gemacht hat war genau das was ich gesucht hatte. Ein Buchstabe wird eingegeben und es öffnet sich eine Liste mit allen Unterpunkten der nächsten Gliederungsebene.
Danke für Deine Hilfe, hast ja ne Menge Einträge zu meiner Frage gepostet und ne Menge Geduld bewiesen. ;)
Gruß Marco
AW: Microsoftprogrammierer kopieren
14.11.2008 08:43:28
robert
HalloMarco,
einmal noch:
ich habe mir chris modell angeschaut-funktioniert super.
aber mir hast du doch eine andere gliederung deiner kst geschickt.
wolltest du nur die anzeige der kst-gruppierung?
wenn du in meinem modell z.b nach 401 suchst, werden alle untergruppen mit 401 usw angezeigt.
mit doppeklick springt er zu der gewählten kst-wolltest du das nicht?
wenn es aber das ist was chris gebaut hat, hast du eine gute lösung gefunden.
vielleicht kannst du mein modell für andere zwecke benutzen, einfach einmal alles ausprobieren.
gruß
rofu
AW: Microsoftprogrammierer kopieren
14.11.2008 10:40:55
Marco
Hi Rofu,
scheint auch ein großes Tool zu sein. Das Problem ist hierbei, dass man die Nummer ja noch gar nicht so genau weiß, die man eingeben muss. Die soll ja mit dem Tool quasi erst gebildet werden. Hinzu kommt, dass ja nicht alle Einträge mit 401 gezeigt werden sollen, sondern nur die der nächsttieferen Ebene. However, das Problem ist ja gelöst. Trotzdem nochmal danke für Deine Hilfe.
Gruß
Marco

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige