Über Combobox jeweiliges Blatt auswählen

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

Betrifft: Über Combobox jeweiliges Blatt auswählen
von: Matthias
Geschrieben am: 15.06.2015 08:56:37

Hallo
anbei meine bisherige Datei.
https://www.herber.de/bbs/user/98196.xlsm
In Page2 habe ich das Problem, dass ich gerne den Vornamen und Nachname in der Auswahlbox anzeigen lassen würde.
Jedoch komme ich nicht drauf, wie ich das umsetzen soll.
In Page 1 wird es aufwendiger.
Über die Combobox, sollten die entsprechenden Tabellenblätter auswählbar sein (z.b 1 und 2).
In der großen Listenbox werden die Daten der Spalten A und B je ausgewählten Blätter eingetragen.
Über die beiden Textboxen werden die Inhalte der entsprechenden Zeilen der Spalten C und D gefüllt.
Über die beiden kleinen Listenboxen werden die entsprechenden Zeilen der Spaltem E und F angezeigt.
In Page 2 sollten die Werte in den Textboxen automatisch ohne speichern immer übertagen werden.
Ebenso sollte die Listenboxen automatisch aktualisiert werden.
Kann mir wer weiterhelfen, wie man dies alles realisieren kann?
Besten Dank.

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Kenny
Geschrieben am: 15.06.2015 09:14:04
Hallo
also erstes Problem behebst du folgendermaßen:


ListBox1.AddItem Trim(CStr(Tabelle1.Cells(lZeile, 2).Value) & " " & Tabelle1.Cells(lZeile, 1). _
Value)
Dein Zweites Problem:
Bei Userform_Initialize kommt das rein

For zähler = 1 To 4
  ComboBox2.AddItem (Worksheets(zähler).Name)
Next
dann

Private Sub ComboBox2_Change()
Dim lzeile As Integer
ListBox2.Clear
ListBox2.AddItem
lzeile = 2
Do While Trim(CStr(Worksheets(ComboBox2.Value).Cells(lzeile, 1).Value)) <> ""
         'Aktuelle Zeile in die ListBox eintragen
          ListBox2.AddItem Trim(CStr(Worksheets(ComboBox2.Value).Cells(lzeile, 2).Value) & " " & _
 Worksheets(ComboBox2.Value).Cells(lzeile, 1).Value)
          
         lzeile = lzeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
Den Rest verstehe ich nicht ganz. Sollen in den Textboxen die Daten aus C und D des in der Listbox ausgewählten Namens kommen oder wie?
Liebe Grüße

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Matthias
Geschrieben am: 15.06.2015 09:18:23
Hallo,
ja genau. Wenn man einen Datensatz aus der großen Listenox auswählt, sollen die Daten der entsprechende Zeile aus dem ausgewählten Blatt anzeigt und verändert werden können.

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Daniel
Geschrieben am: 15.06.2015 10:34:59
Hi
das geht am einfachten, in dem du die Textbox mit der entsprechenden Ausgabezelle über die Eigenschaft ControlSource verknüpfst.
Dann sind Textbox und Zelle direkt miteinnander verknüpft und jede Änderung die du in der Textbox machst, wird dann automatisch in die Zelle zurückgeschrieben.
dh statt der Befüllung der Textbox mit

TextBox2 = Tabelle1.Cells(lZeile, 2).Value
schreibst du (Spalte entsprechen anpasen):
TextBox2.ControlSource = "'" & Tabelle1.Name & "'!B" & lZeile
damit wird automatisch der Zelleninhalt in der Textbox angezeigt und der Textboxwert sofort in die Zelle geschrieben sobald du die Textbox verlässt.
Dann brauchst du da nichts weiter programmieren.
Ein "Änderungen verwerfen" bzw "Schließen ohne Speichern" gibt es dann aber nicht mehr.
Gruß Daniel

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Matthias
Geschrieben am: 15.06.2015 10:43:56
Danke.
Das Problem mit der Combobox konnte ich lösen. Habe hier die Codezeile überlesen, indem du die Tabllenblätter definierst für die Combobox.
Jedoch bekomme ich deinen Beitrag nicht hin.
Ich habe deinen Code
TextBox2.ControlSource = "'" & Tabelle1.Name & "'!B" & lZeile
in bei Textfeld7 angewendet.
Es tut sich hier aber nichts.

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Matthias
Geschrieben am: 15.06.2015 10:46:08
Ich denke aber, es liegt daran, weil in der Listenbox nun der Vorname und Nachname aufgeführt wird und der den Datensatz in der jeweiligen Tabelle nicht zuordnen kann. Siehe Page 1. Hier liegt das selbe Problem vor.
Hast du einen Rat?

Bild

Betrifft: AW: Über Combobox jeweiliges Blatt auswählen
von: Matthias
Geschrieben am: 15.06.2015 10:29:14
Hallo,
Danke für deine Hilfe. Funktioniert auch im Großen und Ganzen 
Dazu jedoch noch meine Anmerkungen.
Page 1: Ich habe den Code von dir eingefügt, funktioniert soweit, aber irgendwo fehlt mit noch etwas weil die Datensätze nicht mehr gefunden werden.
Page2:
- In der Combobox sollten nur bestimmte Blätter angezeigt werden (1 und 2) alle anderen nicht. Das Ganze sollte jedoch noch erweiterbar sein.
- In der Listenbox sollte die Daten erst ab Zeile 2 aufgeführt werden. Ebenso sollten nur Zeilen aufgeführt werden die nicht leer sind.
Ich hätte hierzu noch so ein Thema, dass ich noch damit verbinden möchte.
Ich möchte in Page 2 über den Button drucken und in Abhängigkeit der Combox die Daten der ausgewählten Tabelle ab einer bestimmten Zeile (2) durchlaufen. Wenn nun in Spalte H der Werte P steht, soll die laufende Nr. der Zeile in das Blatt A in Zelle A1 übertragen werden. Desweiteren soll in Zelle A2 der Name des ausgewählten Blattes aus der Combobox übertragen und das Blatt ausgedruckt werden. Danach werden die Daten des ausgewählten Blattes bis zum nächsten Datensatz mit dem Werte P in der Spalte H durchlaufen.
Kannst du mir hierzu nochmals weiterhelfen?
Dazu anbei nochmals die bisherige Datei mit deinen Hilfen.
https://www.herber.de/bbs/user/98198.xlsm
Vielen lieben Dank.
Gruß
Ich hatte hierzu bereits den nachfolgenden Code in einem Modul verwendet, jedoch ohne die das Kriterium der Blattwahl über die Combobox. Der Code ist aus einer anderen Datei. Deshalb passen die Bezüge nicht zu meiner jetzigen Datei.
Option Explicit

Sub Seriendruck()
Dim wks As Worksheet
Dim iRow As Integer
Set wks = Worksheets("1")
iRow = 9
Do Until IsEmpty(wks.Cells(iRow, 1))
Worksheets("2").Range("$G$1") = wks.Cells(iRow, 1)
Worksheets("3").Range("$G$1") = wks.Cells(iRow, 1)
Worksheets("2").PrintOut
Worksheets("3").PrintOut
iRow = iRow + 1
Loop
End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Über Combobox jeweiliges Blatt auswählen"