Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

.RowSource ansprechen eines Tabellenblatts
#1
Hallo zusammen,

ich habe folgendes Problem:

In meinem Code wird das Tabellenblatt1 bei dem Befehl .RowSource angesprochen

Code:
With Me.ComboBox1 'Erstellt eine Drop Down Liste in der Combobox1

            .RowSource = "Tabelle1!A2:A" & lngZeileMax1
           .Style = fmStyleDropDownList
           .ListIndex = 0
           .ListRows = 20

       End With
Wie kann ich jetzt im Code das Tabellenblatt anpassen. Ich habe ein anderes Tabellenblatt (Tabelle7) mit dem Namen "Firmendaten". Ich möchte gerne, das anstatt Tabelle7 "Firmendaten" im Code steht. Ich hab schon alles mögliche mit Worksheets("Firmendaten").Range(...) probiert, aber es geht nicht.
Ich hoffe ihr könnt mir helfen.
Vielen Dank für eure Mühen.

Liebe Grüße Robbie1985
Antworten Top
#2
Hat keiner eine Antwort???

Ich stell meine Frage nochmal etwas anders. 

Ich habe in einer UserForm ("UserForm1") eine Combobox ("ComboBox1") erstellt. in dieser möchte ich gerne Daten aus dem Tabellenblatt7 ("Firmendaten") verknüpfen. Es soll ein DropDown Menü mit Firmennamen erzeugt werden.

Mir wurde schon mit dem oben genannten Code geholfen, welchen ich für eine andere Aufgabe nutze. Leider funktioniert der Code nicht bei meinem jetzigem Projekt, da ich nicht weiß wie ich auf das Tabellenblatt "Firmendaten" zugreifen kann.


Ich hoffe es gibt doch noch eine Lösung.

Vielen Dank
Antworten Top
#3
Hallo,
.RowSource = "Firmendaten!A2:A" & lngZeileMax1
Gruß Uwe
Antworten Top
#4
Vielen Dank für die Antwort.
Antworten Top
#5
Hallo Uwe,

das funktioniert genau so wie ich es mir vorgestellt habe, danke :)

Nun habe ich noch eine weitere Frage:

ich habe im Tabellenblatt "Firmendaten" noch eine dynamische Tabelle "tbl_invt" erstellt. Kann ich im VBA Code auch nur auf die Tabelle "tbl_invt" verweisen, oder kann ich nur auf das gesamte Tabellenblatt "Firmendaten" verweisen?

z.B. .RowSource = "Firmendaten!tbl_invt" & lngZeileMax1

Vielleicht kann man in der Fett markierten Zeile schon den Bereich der dynamischen Tabelle "tbl_invt" eingeben.

Viele Grüße Robbie

Anbei der Code


Code:
Private Sub UserForm_Initialize()
Dim lngZeileMax1 As Long 'Variable für die Ermittlung der Anzahl der beschriebenen Zellen in der Spalte A der Tabelle1 (Firmendaten)
Dim lngZeileMax4 As Long 'Variable für die Ermittlung der Anzahl der beschriebenen Zellen in der Spalte A der Tabelle4 (Bearbeiter)
Dim lngZeileMax7 As Long
Dim Bereich As Range 'Variable für die Ermittlung der laufenden Nummer
    [b]lngZeileMax1 = Worksheets("Firmendaten").UsedRange.Rows.Count 'ermittelt die Anzahl der beschriebenen Zellen in der Spalte A der Tabelle1 (Firmendaten)[/b]
    lngZeileMax4 = Worksheets("Bearbeiter").UsedRange.Rows.Count 'ermittelt die Anzahl der beschriebenen Zellen in der Spalte A der Tabelle4 (Bearbeiter)
    'lngZeileMax7 = Worksheets("Bearbeiter").UsedRange.Rows.Count
     
      UserForm6.TextBox45.Value = Worksheets("Auftrag").Range("AN3").Value
     
'      ComboBox1.List = Worksheets("Firmendaten").Range("A2:A").Value
       
        With Me.ComboBox1 'Erstellt eine Drop Down Liste in der Combobox1 (Auftragnehmer)
            .RowSource = "Firmendaten!A2:A" & lngZeileMax1
            .Style = fmStyleDropDownList
            .ListIndex = 0
            .ListRows = 20
        End With
        With Me.ComboBox2 'Erstellt eine Drop Down Liste in der Combobox2 (Bearbeiter)
             .RowSource = "Bearbeiter!A2:A" & lngZeileMax4
            .Style = fmStyleDropDownList
            .ListIndex = 0
            .ListRows = 7
    End With
   
    TextBox40.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    TextBox41.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    TextBox42.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    TextBox43.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    TextBox44.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    TextBox45.Enabled = False 'sperrt die Eingabe der Textbox durch den Benutzer
    
    Set Bereich = Sheets("Aufträge").Range("AT1") 'Ermittelt die aktuelle laufende Nummer des neuen Auftrags
   
    TextBox44.Value = Bereich.Value
    
    DTPicker1.Value = Now
    
    Exit Sub
       
End Sub
Antworten Top
#6
Hallo Robbi,

eine aus meiner Sicht gute Seite zu den Listobjects ist diese:

the-vba-guide-to-listobject-excel-tables
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Hallo Robbie,

(10.12.2019, 11:43)Robbie1985 schrieb: ich habe im Tabellenblatt "Firmendaten" noch eine dynamische Tabelle "tbl_invt" erstellt. Kann ich im VBA Code auch nur auf die Tabelle "tbl_invt" verweisen, oder kann ich nur auf das gesamte Tabellenblatt "Firmendaten" verweisen?
.RowSource = "tbl_invt"
Gruß Uwe
Antworten Top


Gehe zu:


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