Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
932to936
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
932to936
932to936
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Combobox füllen mit Daten aus einer Zeile
08.12.2007 22:59:21
Gerhard
Ich schon wieder...
nach dem es ja nix geworden ist, mit dem Sortieren nach Häufogkeit, versuche ich es mal anders... und Prompt...
Schaut euch mal mein UF an. Es geht um die 2 ComboBoxen Lieferant und Hersteller.
Kurz zur Erläuterung was ich möchte (besser was ich mir vorgestellt habe)
Hersteller in Abhängigkeit von Lieferant, also Lieferant 1 hat nur Artikel von Hersteller 1,2 und 3 Lieferant 2 nur Artikel von Hersteller 4 und 5 usw.
Soweit ja keine Schwierigkeit, so funktioniert es ja bis jetzt auch.
Die Listen werden über jede Eingabe im Tabellenblatt HILFSTABELLE gefüllt.
Jetzt fiel mir aber auf das wenn jemand sich vertippert (Schreibfehler) dies ja auch in die Hersteller bzw. Lieferantenliste mit aufgenommen wird
(Der eine schreibt Fa. Mayer, der andere Firma Mayer und wieder ein anderer schreibt einfach nur Mayer) Das will ich nicht.
Jetzt habe ich mir gedacht ich baue eine zweite UF (evtl.mit Passwort, das nicht jeder die UF benutzen kann) über die ich eine Lieferantenliste anlege (evtl .mit mehreren Angaben wie Telefonnr, Kundennummer, usw.). Die dazugehörigen Hersteller hätte ich ganz nach hinten gebracht da ja jeder Lieferant unterschiedlich viele Hersteller hat und ich ned weiss, wie ich das anderst geregelt bekommen sollte. (Siehe Sheet Lieferanten, hab da mal ein Beispiel eingetragen.).
So und nun zum eigentlichen Problem, wie sage ich der ComboBox2 das sie wenn Lieferant 1 in ComboBox1 ausgwählt wird nur Hersteller aus Zeile 2 ab Spalte S bis Spalte AB aufgeführt werden dürfen? Ich kenn das mit den ComboBoxen nur wenn die Daten untereinander stehen.
*lach* ja ich habe es auch schon versucht die Tabelle in Spaltenform zu basteln, ginge auch aber dann scheiterte ich bei "Suche nächste Freie Spalte in Zeile 1" (hier kenne ich wiederum nur Suche nächste freie Zelle in Spalte A) wenn ich nen neuen Lieferanten anlegen will.
Kann mir hier jemand behilflich sein?
Greetz Just

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 10:18:05
Hajo_Zi
Hallo Just,
warum hast Du nicht den Vorschlag umgesetzt der Dir gemacht wurde. Den Beeich fest mit der Quelltabelle verbinden (Rowsource) un d unterschiedliche Sortierung. Für die Sortierung kannst Du doch ein Schalter in die UserForm machen.

AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 11:05:56
Gerhard
Moin Hajo...
Ich gehe mal davon aus das sich deine Antwort auf den ersten Absatz meiner Fragestellung bezieht.
Die Anregungungen in dem vohergehenden Post haben dazu geführt, das ich etwas "umdenken / umbauen" musste, und somit sich die Sortiererei eigentlich erledigt hat.
Was ich jetzt aber wissen will / muss ;-)

So und nun zum eigentlichen Problem, wie sage ich der ComboBox2 das sie wenn Lieferant 1 in
ComboBox1 ausgwählt wird nur Hersteller aus Zeile 2 ab Spalte S bis Spalte AB aufgeführt  _
werden
dürfen? Ich kenn das mit den ComboBoxen nur wenn die Daten untereinander stehen.
*lach* ja ich habe es auch schon versucht die Tabelle in Spaltenform zu basteln, ginge auch  _
aber dann
scheiterte ich bei "Suche nächste Freie Spalte in Zeile 1" (hier kenne ich wiederum nur Suche  _
nächste
freie Zelle in Spalte A) wenn ich nen neuen Lieferanten anlegen will.
Kann mir hier jemand behilflich sein?


Ich will nur wissen wie ich meiner ComboBox2 sagen kann das die Daten zum befüllen nicht Spaltenweise vorhanden sind, sondern Zeilenweise (und das natürlich in Abhängigkeit von ComboBox1, dessen Daten wiederrum in Spalte A des gleichen Tabellenblatts aufgeführt sind.
Also im Klartext:
ComboBox1 Daten zum Befüllen aus Tabellenblatt1 Spalte A ohne doppelte
ComboBox2 Daten zum befüllen aus Tabellenblatt1 Zeile ComboBoxA Spalte S-AB
Wär nett wenn helfen könntest... is ja Weihnachten bald *grins*
Greetz Gerhard

Anzeige
AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 11:56:37
Beverly
Hi Gerhard,

Private Sub UserForm_Activate()
Dim inSpalte As Integer
For inSpalte = 1 To 10  '


________________________________________

AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 12:30:47
Gerhard
Suuuuuuper Danke Beverly!!!
Gell, das hast jetzt gmacht weil bald Weihnachten is *grins*
Aber eine Frage noch:
Wie bringe ich den RowIndex dazu das er in ComboBox1 nach dem dort eingebenen Wert schaut und daraus die Zeile bestimmt und aus dieser Zeile die Spalten angibt?
thx für die Mühe

AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 12:38:44
Christian
Hallo Gerhard,
das Thema "relationale Daten" wurde ja schon besprochen - siehe:
https://www.herber.de/forum/archiv/928to932/t931831.htm
Mein Vorschlag, lege folgenden Tabellen an:
- Lieferanten (ID_Lieferant, Firma, ... hier nur Daten der Lieferanten und keine Bezüge zu Herstellern o.ä.)
- Hersteller (ID_Hersteller, Name, ... hier nur Daten der Herstellers und keine Bezüge)
- Artikel (ID_Artikel, Artikelbezeichnung, Beschreibung, ... hier nur Daten der Artikel und keine Bezüge)
- Hersteller_Artikel (ID_Hersteller, ID_Artikel - nur die ID's)
- Lieferant_Hersteller(ID_Lieferant, ID_Hersteller - nur die ID's)
Die letzten beiden Tabellen stellen die Beziehungen dar zw. Hersteller und Artikel bzw. zwischen Lieferant und Hersteller. Hier werden nur die ID's entsprechend aus den ersten drei Tabellen aufgeführt. Die ID's müssen dabei in jeder Tabelle eindeutig sein. Ebenso wird ein und der selbe Bezug in den letzten beiden Tabellen nur einmal aufgeführt.
ComboBox1 füllst du jetzt mit allen Lieferanten. Wenn du einen davon auswählst, füllst du die ComboBox2 mit den Herstellern, die laut Tabelle "Lieferant_Hersteller" einen Eintrag (Bezug) zu dem gewählten Lieferanten haben.
Wenn der Hersteller gewählt ist, füllst du ComboBox3 mit den Artikeln, die laut Tabelle "Hersteller_Artikel" einen Eintrag zu diesem Hersteller haben.
Die ComboBoxes haben jeweils zwei Spalten (jeweilige ID und den Namen). Die Breite von Spalte1 (ID) setzt du auf 0.
Als Anlage ein Bsp.:
https://www.herber.de/bbs/user/48333.xls
Grüße
Christian
PS: ich würde das eher mit Listboxen umsetzen - weil wegen Übersicht - aber jeder nach seinem Gusto.

Anzeige
AW: Combobox füllen mit Daten aus einer Zeile
09.12.2007 13:21:00
Gerhard
WOW Christian...
Jetztatle binsch ehrlich platt... Danke für diese Mühe!!! Das is ja der Hammer!!! (wenn ich auch mindestens 2/3 des Codes absolut ned verstehe)
Die Mappe haste ja bestimmt betrachtet?
https://www.herber.de/bbs/user/48327.xls
Ich möchte (wenn ich jetzt irgendwann mal weiterkomme ;) ) Noch ein UF anlegen in dem ich Lieferanten eintragen kann.
Das wichtigste hierbei ist eigenlich nur die Zuweisung der Hersteller zu den Lieferanten. Artikelbezeichnungn eher nicht, da diese ziemlich allgemeingehalten sind und auf fast alle Lieferanten / Hersteller zutreffen (Gewindebohrer, Schaftfräser um 2 zu nennen und 90% der Lieferanten verkaufen diese)
Aber zurück zu den Lieferanten anlegen.
Das werden ja dann mehrere txtFelder sein (Hersteller1-10). Diese mit dem Textfeld txtLieferantennummer in ein extra Sheet schreiben. Das sollte ich hinbekommen.
Wo ich an mir zweifle betrifft bei deinem Vorschlag das Sheet LIEFERANT_HERST.
Wie soll ich das den über die UF bewerkstelligen?
Kann man den den Inhalt von einer txtBox in mehrere Sheets gleichzeitig schreiben?
Desweiteren habe ich jetzt die ganze Zeit versucht deinen Code zu verstehen, was genau dort abläuft und in Gedanken versucht das mir so umzustricken das es auch funzt bzw. ich auch verstehe... Ehrlich? Ich steig da aus... Eieieiei das is ja wie wenn man nen Erstklässer CoSinus mit Hand ausrechnen lässt ;)
greetz Gerhard

Anzeige
AW: Erklärung zum Code
09.12.2007 14:05:00
Christian
hallo Gerhard,
die Struktur für Lieferanten - Hersteller und Hersteller - Artikel ist eigentlich identisch. Das Bsp soll auch nur zeigen, wie man die relationale Datenstruktur aufbaut und im Code umsetzen kann.
vielleicht helfen dir ja die folgenden Kommentare am Bsp von cbb_Lieferant_Change:

Private Sub cbb_Lieferant_Change()
'Wenn ein Lieferant gewählt wird, dann cbb_Hersteller mit Daten füllen:
Dim i&, k&, lngID_LH&, lngID_H&, vVgl
Dim wksH As Worksheet, wksLH As Worksheet
'bei Wechsel des Lieferanten cbb_Hersteller und cbb_Artikel leeren:
Me.cbb_Hersteller.Clear
Me.cbb_Artikel.Clear
With Me.cbb_Lieferant
If .ListIndex 


Vielleicht komme ich später noch dazu, die ein Bsp zum Thema Textfelder zu stricken.
Grüße
Christian

Anzeige
Bsp zu "neue Lieferanten"
09.12.2007 17:44:00
Christian
Hi Gerhard,
als Anlage noch ein Beispiel, wie du neue Lieferanten inkl. der Beziehungen zu den Herstellern scripten kannst.
https://www.herber.de/bbs/user/48341.xls
Ich kann dir nur empfehlen, die Daten-Struktur wie im Beispiel "Lieferant" - "Hersteller" - "Lieferant_Herst" gezeigt umzusetzen. Wenn du die Beziehung zu Artikeln nicht brauchst, dann lass sie weg - ist ja nur ein Bsp.
Die Datenstruktur (Stichwort "relationale Daten", "Normalisierung") ist das "A und O".
Mir einem sauberen Datenmodell kann dir eigentlich nichts mehr passieren.
Aber sobald du Daten und Beziehungen in einer Tabelle darstellt, kommst du früher oder später in Teufels Küche - ich spreche aus Erfahrung.
Ein weiterer Vorteil ist, wenn du später eine echte Datenbank nutzen willst - mySQL, (Access) - hast du
- dein Datenmodell schon fertig
- und kannst die Daten der Excel-Tabellen 1:1 in deine DB-Tabellen übertragen.
gib mir Bescheid, wie du mit dem Beispiel parat kommst
Grüße
Christian

Anzeige
AW: Bsp zu "neue Lieferanten"
09.12.2007 19:22:53
Gerhard
Servus Christian....
Boah... So is dees a Sach...klasse... und so langsam steig ich durch.
Nur die Art von "Kürzeln" die du verwendest muss ich noch lernen. Bei mir ist vieles noch ausgeschrieben, der Übersicht wegen, damit ICH den Überblick ned verlier. Aber wenn man alle deine "übersetzt" wird es klarer.
was ich noch ned kenne ist i&, k&, vVgl diese verwirren mich noch etwas.
Was mir aber auf jeden Fall gefällt is der Aufbau der Sheet, das "Normalisieren"
Danke dir echt dafür und ich merk ich sollte das Konzept evtl nochmals überarbeiten und mir ne grosse Rolle Tapete kaufen *lach*
greetz und nen schönen Abend noch
Gerhard

Anzeige
AW: Bsp zu "neue Lieferanten"
09.12.2007 19:28:00
Daniel
Hi
Dim i&
ist nur ne Abkürzende Schreibweise für
Dim i as long
Gruß, Daniel

viel Erfolg
09.12.2007 19:54:09
Christian
noch 'ne kurze Erklärung zu den &; Das ist das Typkennzeichen für Long.
Statt: "Dim i&, k&" kannst du auch schreiben: "Dim i As Long, k As Long"
eine variable ohne Typkennzeichnung ist "Variant"
Statt: "Dim vVgl" kannst du auch schreiben: "Dim vVgl As Variant".
Bei den Variablen-Namen versuche ich, soweit es keine Zähler sind, diese Kurz und trotzdem sprechend zu benennen. (vVgl - "v" für variant" und Vgl für Vergleich", lngID_L - "lng" für Long und "ID_L" für "Identität_Lieferant").
Da hat aber jeder seinen eigenen Stil - Ausschreiben ist auch OK, ich hab da nur manchmal Schwierigkeiten, den eigentliche Code vor lauter Variablennamen nicht mehr zu sehn. Das ist aber meine pers. Meinung.
Viel Erfolg mit deiner "DB" und Grüße
Christian

Anzeige
AW: viel Erfolg... DANKE !!!
09.12.2007 20:54:40
Gerhard
Danke Christian für deine Hilfe!!!
Ich bin zwar ned unbedingt mit meiner Mappe weitergekommen ;-) aber gelernt hab ich was...
Nu dann werd ich mcih mal darüber hermachen und mich melden wenns wieder "zwickt"
Greetz Gerhard

@Christian
10.12.2007 16:17:31
Gerhard
Hallo Christian.
Hab mir mal das zu Herzen genommen, ne Tapete und nen Edding geschnappt, und mal angefangen zu malen.
Aber ich bräuchte bei dem DB Aufbau nochmals deine Hilfe / Ratschlag wenn dir nix ausmacht :), und ich bin mir ned sicher ob das hier in diesem Forum ned oT ist.
Wärst du so gut und teilst mir mal deine E-Mail Add mit, falls es tatsächlich unter die Kategorie OffTopic fallen sollte?
Hätte ein paar Fragen zum "Normalisieren". Habe eine Grobstruktur fertig und komm nicht mehr weiter, (Wie ich es noch weiter aufteilen kann)
Greetz Gerhard

Anzeige
AW: @Christian
10.12.2007 19:50:25
Christian
Hallo Gerhard,
du hast recht, das Thema ist wohl eher OT. Aber das wird wahrscheinlich nicht einfach.
- zum einen müsste ich eine umfasssende Info über die Daten haben um entscheiden zu können, welche Daten von welchen abhängig sind, welche Abhängigkeiten dort bestehen (1:N oder N:M), etc.
- zum anderen habe ich diese Woche nur sehr beschränkt Zeit (man hat ja auch noch 'nen Job und das Forum ist Freizeit...)
Meine E-Mail gebe ich nur ungern preis - ich schlage vor, du nennst mir deine, und ich antworte dir.
(wenn du Spam's vermeiden willst, dann im Stil "xyz at provider dot de" statt "xyz@provider.de")
Antworten werde ich dir auf jeden Fall, aber evt. auch nur mit "Sorry - keine Zeit".
Grüße
Christian

Anzeige
AW: @Christian
10.12.2007 20:08:29
Gerhard
Hallo Christian
ok hiermal erst meine E-Mail Add
hallo[at]allgeyr[dot]de
Klar, es eilt ned. Ich werde die Plattform erstmal in der Art weiterbasteln, wie ich angefangen habe.
Das Umbauen dann auf ne DB (MySQL Server im Geschäft ist vorhanden) wird dann eh noch einige Zeit dauern da ich mich mit diesem Thema erst noch "vertraut" machen muss, aber will wills halt am Anfang mal noch "Korrektur lesen" lassen, zumindest den Aufbau.
Will das ganze erstmal daheim auf meinem Rechner zum laufen bringen (und da wird viel über Try 'n' Error laufen*lach*)
greetz Gerhard

Du hast Post (o.T.)
10.12.2007 21:06:00
Christian

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige