2.6k Aufrufe
Gefragt in Tabellenkalkulation von paul1 Experte (4.9k Punkte)
Hallo Allseits,

Kann es sein, dass es nicht möglich ist, eine UserForm von jeder beliebigen Tabelle aus aufzurufen, trotz umfangreicher Recherchen konnte ich nicht fündig werden.

Für Hinweise, Tipps, Links oder eventuell Lösung bedanke ich mich schon im Voraus


Gruß

Paul1

7 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Paul,

eine UserForm kann von jeder Tabelle aufgerufen werden. Nur wenige sehen Deinen Code.

Gruß hajo
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Hajo,

Danke für die prompte Antwort!

Ich habe es versucht mit:

Private Sub CommandButton1_Click()
UserForm1.Show

End Sub
oder
Schaltfläche:

Sub Schaltfläche8_BeiKlick()
UserForm1.Show
End Sub

In der UserForm1 selbst:

Private Sub ComboBox1_Change()

Set gefunden = Tabelle1.Range("A1:A9").Find(ComboBox1)
If Not gefunden Is Nothing Then
TextBox1 = gefunden.Offset(0, 1).Value
TextBox2 = gefunden.Offset(0, 2).Value
TextBox3 = gefunden.Offset(0, 3).Value
End If

End Sub

Die funktionieren nur in Tabelle 1, in Tabelle2 kann die Userform schon aufgerufen werden, allerdings sind keine Inhalte in den Combo-Boxen bzw. Test-Boxen zu sehen.

Das ist der Ist-Zustand!

Gruß

Paul1
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
es sieht so aus als ob es ei AktiveSteuerelement ist mit dem die UserForm aufgerufen wid. Der Code gehört unter die Tabelle. Willst Du die Userform aus allen Tabellen aufrufen mußt Du in jedem einen Button mit dem Code anordnen oder Du machst es über ein Makro.
Wenn nichts in der Combox steht werden die Textboxe auch nicht gefüllt.
Ic kann nich nur wiederholen. Nur wenige sehen Deinen Code.
Ich baue eine Datei auch nicht nach, da der Nachbau meist anders aussieht als das Original.

Gruß hajo
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Hajo,

Es dürfte doch nicht so einfach sein, wie ich mir das vorgestellt habe, leider verstehe ich nichts von VBA, deshalb habe ich die Anfrage ins Forum gestellt.

Im nachfolgenden Link wäre eine konkrete Beispieldatei mit meinen bisherigen Versuchen zu sehen:

Beispiel-Userform

Ich bin deshalb auf die UserForm gekommen, da ich sie als Abfrage nutzen möchte und da wäre es ideal, wenn sie in jeder Tabelle mit allen Inhalten aufgerufen werden könnte.

Ich kann aber auch mit einer anderen Möglichkeit leben.

Gruß

Paul1
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Du solltest als Quelle nicht nur den Bereich schreiben sondern auch die Tabellle angeben.

Gruß Hajo
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Du hast in den Eigenschaften der ComboBoxen bei RowSource jeweils nur die Range angegeben (z.B. C1:C9).
So wird immer auf der aktiven Tabelle nach den Werten gesucht. Willst Du, egal wo Du Dich befindest, die Werte aus dem Sheet mit Namen "Tabelle1" holen, dann musst Du (wie in Formeln auch, wenn die Daten aus einer anderen Tabelle kommen sollen) den Namen der Tabelle schon mitgeben. Schreib also bei RowSource einfach mal Tabelle1!C1:C9 rein. Dann solltest Du auch Daten in den ComboBoxes vorfinden.

Cu
TheBlackBird ®
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Hajo und TheBlackBird,

Ich bedanke mich für die entscheidenden Hinweise, jetzt funktioniert es so wie es sein soll.

Es wird sicher nicht meine letzte Anfrage sein.

nochmals herzlichen Dank auch für die Mühe!

Gruß

Paul1
...