ComboBoxen / TextBoxen in Abhängigkeit

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm TextBox MsgBox
Bild

Betrifft: ComboBoxen / TextBoxen in Abhängigkeit
von: Vat
Geschrieben am: 20.11.2015 18:50:54

Hallo zusammen,
ich arbeite gerade an einem Formular und möchte verschieden ComboBoxen / TextBoxen in Abhängigkeiten einbauen. Leider bekomme ich es aber trotz unzähliger Beispiele im Netz nicht hin. Mehrere Comboboxen hintereinander, in Abhängigkeit habe ich zwar geschafft... aber das ist leider nicht das was ich möchte.
Alle Daten kommen aus 4 Spalten im Tabellenblatt „Daten“ (Username, Antragsteller, Mitarbeiter, Vorgesetzter). Die Werte können auch doppelt vorkommen und sollten erweiterbar sein.
In meinem Fall möchte ich gern den environ("username") auslesen und den dazugehörigen „Klarnamen“ aus der spalte Antragsteller in die erste TextBox schreiben lassen. In die zweite ComboBox möchte ich dann die Werte aus Spalte Mitarbeiter (zur Auswahl) haben.
In die dritte TextBox möchte ich dann wieder automatisch der Wert aus Spalte Vorgesetzter, welcher zum Mitarbeiter gehört.
Im Prinzip steht der Antragsteller schon da, ich wähle nur noch den Mitarbeiter aus und der Vorgesetzte wird automatisch ermittelt.
Das Ganze setzt sich immer aus den Werten je Zeile zusammen.
Das Boxen können entweder in einer UserForm oder direkt im Tabellenblatt sein.
Dann möchte ich die Werte (Antragsteller, Mitarbeiter und Vorgesetzter) auch noch per Button in 3 Zellen übergeben. z.B. I3, J3, K3.
Ich habe mal ein Beispiel, mit UserForm hochgeladen.
https://www.herber.de/bbs/user/101683.xlsm
Meine VBA- Versuche habe ich wieder entfernt.
Ich bin für jeden Ansatz dankbar.
V.G. Vat

Bild

Betrifft: Frage
von: Michael
Geschrieben am: 20.11.2015 20:05:07
Hallo Vat,
sehe ich das falsch, oder ist der "Antragsteller" eigentlich gar keine Combobox, derweil er sich "direkt" aus dem User ergibt?
Gruß,
Michael

Bild

Betrifft: teste mal (ohne Userform)
von: Michael
Geschrieben am: 20.11.2015 21:07:25
Hi Vat,
anbei eine Variante ohne Userform: https://www.herber.de/bbs/user/101686.xlsm
Dabei habe ich einen "Dummy-User" benutzt, d.h. Du entfernst bitte das Kommentarzeichen (') der oberen Zeile und löschst die untere:

' Usersuchen = Environ("Username")
Usersuchen = "nicht vorhanden"
Happy Exceling,
Michael

Bild

Betrifft: AW: teste mal (ohne Userform)
von: Vat
Geschrieben am: 20.11.2015 23:24:53
Hallo Michael,
Vielen Dank für deine Hilfe.
Zu deiner ersten Frage; Ja der "Antragsteller" ist keine Combobox und er ergibt sich "direkt" aus dem User. Das war mein Fehler.
Ich habe deine Anweisungen befolgt und die Zeile aktiviert bzw. die untere entfernt.
Jetzt bekomme ich jedoch folgenden Fehler:
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler
.Range("C" & von).Resize(bis - von + 1, 2).Copy Tabelle3.Range("D9")
In der ComboBox werden mir auch keine Auswahlmöglichkeiten (Mitarbeiter) geboten, lediglich 1 Wert.
Kannst du mir nochmal helfen?
V.G. Vat

Bild

Betrifft: AW: teste mal (ohne Userform)
von: Michael
Geschrieben am: 21.11.2015 00:05:08
Hi Vat,
laß Dir bitte mal die Werte für von und bis in einer MsgBox ausgeben, also:


     msgbox "von" & von & " bis " & bis
     If bis <> von Then
       .Range("C" & von).Resize(bis - von + 1, 2).Copy Tabelle3.Range("D9")
 

Wenn die msgbox erscheint, kannst Du mit Strg-Untbr abbrechen und das Makro beenden bzw. debuggen.
Was sind die Werte?
Schöne Grüße,
Michael

Bild

Betrifft: AW: teste mal (ohne Userform)
von: Vat
Geschrieben am: 21.11.2015 09:19:15
Hallo Michael,
Ich bin bis Sonntag unterwegs und nicht am Rechner. Ich melde mich dann asap.
Danke und Viele Grüße
Vat

Bild

Betrifft: AW: teste mal (ohne Userform)
von: Vat
Geschrieben am: 23.11.2015 10:51:59
Hallo Michael,
Danke für deine Hilfe.
An welche Stelle muss die MSGBOX? Ich habe schon mehrere Positionen probiert, bekomme aber immer wieder eine Fehlermeldung.
Auch als einzelnes Makro, bleibt es immer bei ".Range" hängen.
V.G. Vat

Bild

Betrifft: Fehler gefunden
von: Michael
Geschrieben am: 23.11.2015 15:49:38
Hallo Vat,
sorry, das war mein Fehler: in den beiden Zeilen, die mit

Set zelle = .Range("A1:A" & Datenmax).Find

beginnen, muß es (richtig) "A1 statt A2 heißen.
Anbei nochmal die komplette Datei: https://www.herber.de/bbs/user/101751.xlsm
es gibt eine weitere Sub Zusammensuchen_Debuggen, die eine Reihe Testnamen durchläuft - die wird nur von dem Button "Test" verwendet. Klicke da mal drauf...
Die Sub Zusammensuchen habe ich auch geändert: sie sollte jetzt fehlerfrei funktionieren.
Happy Exceling,
Michael

 Bild

Beiträge aus den Excel-Beispielen zum Thema "ComboBoxen / TextBoxen in Abhängigkeit"