Excel Combobox in abhängigkeit füllen
#1
Hallo zusammen,
 
ich bin sowohl im Forum neu, als auch beim Thema VBA, dieses Projekt ist sozusagen mein erstversuch.
Ich bin bisher mit etwas Einfallsreichtum und Google-Recherche weitergekommen, aber mein Spanisch ist jetzt am Ende.
Also diese Excel-Datei soll für unsere Dorfbücherei sein, um neue Bücher einzutragen und das verleihen der Bücher aufgezeichnet werden.
 
Ich habe sozusagen mehrere Probleme, mein größtes ist aber folgende:
Ich habe das alles für das Tabellenblatt („Tabellle2“) gemacht
Auf dem UserForm_Speichern (das ist für das Abspeichern der ausgeliehenen Bücher) werden in der Combobox2 alle Leute angezeigt, die Bücher ausgeliehen haben, auf Folge des Namens, sollen in der Combobox3 alle Bücher der Spalte D angezeigt werden, bei denen der Name in Spalte C mit der Combobox2 übereinstimmt und wo in Zelle A eine 1 steht.
Dann soll nach Auswahl der Combobox3 das Datum, welches in Spalte E&F steht in die Textbox2&3 übernommen werden
Nach dem ändern des Datums in Textbox3 will ich nur dieses neue Datum abspeichern
 
Ich weiß nicht, ob oder wie schwer das Problem zu lösen ist, hab jetzt ein weilchen selber versucht es zu lösen, aber ich bin durchgehend gescheitert.
Falls es hilft, ich habe die Excel datei angehängt.
 
Grüße
Stefan


Angehängte Dateien
.xlsm   Bücherei.xlsm (Größe: 48,38 KB / Downloads: 4)
Top
#2
Bitte zeig uns doch einmal dein Konstukt!
Top
#3
Hallo,
natürlich gern, hab auch festgestellt, dass in der Hochgeladenen Datei der "Code" nicht drin ist.

also ich habe es geschafft, wenn ich jedes einzeln abfrage und zwar folgendermaßen:

Private Sub ComboBox2_Change()


    With Worksheets("Tabelle2")
        If .ComboBox2 Like "C2" Then

            Call InitCombBox3(2, 17)

        ElseIf .ComboBox2 Like "C3" Then

            Call InitCombBox3(3, 24)

        ElseIf .ComboBox2 Like "c4" Then

            Call InitCombBox3(4, 30)

        'ElseIf ....
        End If
    End With
End Sub

da die Datei aber über 300 Einträgt haben kann, wäre es doch sehr mühsehlig alles einzeln abzufragen...
Top
#4
Gelöscht....
Top
#5
Hallo,

anstatt mit acht Userforms zu arbeiten, würde ich eines nehmen und Multiseiten verwenden, das erscheint mir übersichtlicher. 

Dann noch ein Hinweis: Spaltenüberschriften sollten sich immer in mindestens einem Zellformat von den Spalteninhalten unterscheiden.

Und eine Frage: warum lässt die die Spalten A und teilweise auch B frei von Inhalten?

Im übrigen würde  für das gesamte Projekt auch ein Tabellenblatt reichen. Dazu rate ich ganz dringend. In einem Datenbankprogramm wie z. B. Access wäre es zwar richtig zum Beispiel Kunden und Bücher getrennt zu verwalten, in Excel bringt das nicht so viel. Allenfalls kann man das für das Befüllen der Kombinationsfelder nutzen, da gibt es aber auch andere Möglichkeiten.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#6
Ich würde hier auch zu einer multipage raten. Allerdings ist der Aufbau im allgemeinen etwas verwirrend..
Da man mit Userformen Daten in den Tabellen verwalten möchte, würde ich dir raten erst eine Tabellenstruktur anzulegen und dann die Userform passend dazu gestalten!

Des weiteren würde ich dir zu Access raten, damit lassen sich diese Art von Daten in deiner gewünschten art und form leichter verwalten und gestalten!

Steht denn Access zur Verfügung?
Top
#7
Hier mein Vorschlag zum Aufbau...
Top
#8
Hallo, 
also da ich noch ein rechter VBA-neuling bin, hab ich noch nie was von Multipages gehört...

Ich kenne Access, habe auch nur gute Erfahrungen (als benutzer) habe aber noch nie etwas darin (Programmiert). 
Und ob es in der Bücherei verfügbar wäre, müsste ich nachfragen
Top
#9
Ich hatte leider jetzt erst Zeit um mir die Datei anzusehen.

Ich muss ein dickes Lob aussprechen, dein Aufbau ist 1000mal schöner und übersichtlicher als meiner.


Nur mein eigentliches Problem, hab ich leider immer noch...


Grüße Stefan
Top
#10
In Abhängigkeit füllen kann man mit einer Schleife

Entweder for oder do zum Beispiel

In der Schleife wird mit einer if oder case Abfrage geprüft was in einer Zelle steht und wenn die Bedingung stimmt kann man mit zB. "Combobox1. Additem" die Daten dann in die Combobox aufnehmen.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste