Die Daten stehen in Sheets(2).Range("R2"),Cells(2,N)), wobei N dynamisch
ist.
Der Startwert Range("R2") ist immer gleich, der Endwert, also die Spalte für
Reihe 2 ist dynamisch.
Ich hoffe Ihr habt mich verstanden!
--
Gruss
Ulrich Weigel
E-Mail: MDLLe...@AOL.com
Hallo Ulrich,
ich bin mir nicht sicher, ob ich Dein Problem richtig
verstanden habe. Aber z.B. funktioniert folgendes
bei mir unter XL 97 SR1:
Sub ComboFuellen()
Dim lngStartzeile As Long
Dim lngEndezeile As Long
Dim strRowsource As String
lngStartzeile = 2
lngEndezeile _
= Tabelle1.Range("A65536").End(xlUp).Row
strRowsource _
= "A" & lngStartzeile & ":" & "A" & lngEndezeile
UserForm1.ComboBox1.RowSource = strRowsource
Load UserForm1
UserForm1.Show
End Sub
Das "A" im Code (mit Suchen und Ersetzen) mußt
Du für Deine Tabelle dann durch "R" ersetzen lassen.
Mit freundlichem Gruß
Wilfried
Es soll z.B. heißen:
strRowsource = "R2:W2"
UserForm1.ComboBox1.RowSource = strRowsource
Dynamisch ist nun die Spalte, also kann es auch heißen: strRowsource =
"R2:X2"
Würde ich mit VBA dies als Formel in eine Zelle schreiben, so würde ich
schreiben:
Range("A1").Formular1c1 = "=R2C18:" & lstSpalte & "2"
Wenn ich aber schreibe strRowsource = "R2C18:" & lstSpalte & "2"
dann wird als Fehler falscher Eigenschaftswert gemeldet.
Muß ich also aus dem Wert 25 für Spalte Y in den Buchstaben Y umwandeln?
Geht es nicht anders?
--
Gruss
Ulrich Weigel
E-Mail: MDLLe...@AOL.com
"Wilfried Butzek" <Wilfrie...@t-online.de> schrieb im Newsbeitrag
news:a1ad9k$j9r$04$1...@news.t-online.com...
> Ulrich Weigel schrieb am Sat, 5 Jan 2002 03:50:40 +0100:
> >
> > Hallo NG
> > Wie gebe ich mit VBA den RowSource einer ComboBox am?
> >
> > Die Daten stehen in Sheets(2).Range("R2"),Cells(2,N)), wobei N dynamisch
> > ist.
> > Der Startwert Range("R2") ist immer gleich, der Endwert, also die Spalte
für
> > Reihe 2 ist dynamisch.
> >
> > Ich hoffe Ihr habt mich verstanden!
>
> Hallo Ulrich,
>
> ich bin mir nicht sicher, ob ich Dein Problem richtig
> verstanden habe. Aber z.B. funktioniert folgendes
> bei mir unter XL 97 SR1:
>
> Sub ComboFuellen()
> Dim lngStartzeile As Long
> Dim lngEndezeile As Long
> Dim strRowsource As String
> lngStartzeile = 2
> lngEndezeile = Tabelle1.Range("A65536").End(xlUp).Row
> strRowsource = "A" & lngStartzeile & ":" & "A" & lngEndezeile
Hallo Ulrich,
ich habe Dein Problem möglicherweise immer noch nicht
verstanden - altersbedingte ... ;-))
Oder meinst Du vielleicht folgendes (im Klassenmodul Deines
Tabellenblattes):
Sub ComboFuellen()
Dim lngStartspalte As Long
Dim lngEndespalte As Long
Dim rngBereich As Range
Dim strRowsource As String
' Spalte R als Startspalte festlegen
lngStartspalte = 18
' Der Variablen "lngEndespalte" den Rückgabewert
' der Funktion hinter dem Gleichheitszeichen zuweisen.
lngEndespalte _
= ActiveSheet.Cells(2, 256).End(xlToLeft).Column
Set rngBereich _
= Range(Cells(2, lngStartspalte), Cells(2, lngEndespalte))
strRowsource = rngBereich.Address
UserForm5.ComboBox1.ColumnCount = _
lngEndespalte - lngStartspalte + 1
UserForm5.ComboBox1.RowSource = strRowsource
Load UserForm5
UserForm5.Show
Set rngBereich = Nothing
End Sub
Mit freundlichem Gruß
Wilfried
Martin
"Ulrich Weigel" <MDILe...@easysixt.de> schrieb im Newsbeitrag
news:O4PAOPZlBHA.2264@tkmsftngp05...