Supportnet / Forum / Tabellenkalkulation
Rowsource für Listbox
Frage
Hallo zusammen
in einer Userform habe ich ne Listbox, die beim Öffnen des Fensters geladen wird:
...= "BR" & 24 & ":BT" & zeile - 1
Funktioniert soweit einwandfrei. Da ich aber mit "With Sheets("Tabelle1")" arbeite, habe ich folgendes versucht (nur Beispiel):
...= .Cells(6, 70) & ":" & .Cells(20, 72)
Dass das falsch ist habe ich gemerkt. Funktioniert das überhaupt, und wenn ja wie, oder muss ich mit "select("Tabelle1")" usw. arbeiten?
Danke für ne Antwort.
Antwort 1 von nighty
hi :)
wie gewünscht
gruss nighty
Option Explicit
Sub test()
With Sheets("Tabelle1")
... = .Range(.Cells(6, 70), .Cells(20, 72))
End With
End Sub
wie gewünscht
gruss nighty
Option Explicit
Sub test()
With Sheets("Tabelle1")
... = .Range(.Cells(6, 70), .Cells(20, 72))
End With
End Sub
Antwort 2 von Rahel04
Hi nighty,
danke für Deine Antwort, klappt aber noch immer nicht: Laufzeifehler 13: Typen unverträglich... Mein Code ist doch genau derselbe, oder?
With Sheets("US")
If .Cells(6, 70) = "" Then
Me.ListBox_RücktrittNormal_M.RowSource = ""
Else
zeile = 6
Do Until .Cells(zeile, 70) = ""
zeile = zeile + 1
If zeile = 21 Then Exit Do
Loop
If zeile = 21 Then
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(20, 72))
Else
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(zeile-1, 72))
End If
End If
end with
Weisst Du was ich wiederum falsch mache?
Gruss Rahel
danke für Deine Antwort, klappt aber noch immer nicht: Laufzeifehler 13: Typen unverträglich... Mein Code ist doch genau derselbe, oder?
With Sheets("US")
If .Cells(6, 70) = "" Then
Me.ListBox_RücktrittNormal_M.RowSource = ""
Else
zeile = 6
Do Until .Cells(zeile, 70) = ""
zeile = zeile + 1
If zeile = 21 Then Exit Do
Loop
If zeile = 21 Then
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(20, 72))
Else
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(zeile-1, 72))
End If
End If
end with
Weisst Du was ich wiederum falsch mache?
Gruss Rahel
Antwort 3 von fürLau
Hallo
Wie lange sll das gehen?
[h1]?[/h1]
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Wie lange sll das gehen?
If .Cells(6, 70) = "" Then
Me.ListBox_RücktrittNormal_M.RowSource = ""
Else
zeile = 6
Do Until .Cells(zeile, 70) = ""
[h1]?[/h1]
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Antwort 4 von fürLau
schenkt mir ein [h1]o[/h1]
Antwort 5 von Jana_
Wie lange? Steht doch da:
zeile = 6
Do Until .Cells(zeile, 70) = ""
zeile = zeile + 1
If zeile = 21 Then Exit Do
Loop
Entweder bis von Zeile 6 abwärts mal eine Zelle in Spalte BR leer ist oder spätestens ist in Zeile 21 Schluss.
Was willst Du denn mit einem O ? Diese hässliche Fratze noch hässlicher machen? Ich schenk Dir einen Eimer weiße Farbe, damit Du die Dinger alle überpinseln kannst.
Zum Problem in Antwort 2. Eine Typunverträglichkeit könnte höchstens an einer der 3 Stellen
Me.ListBox_RücktrittNormal_M.RowSource = ""
oder
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(20, 72))
oder
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(zeile-1, 72))
vorkommen. Dazu müsste man wissen, wie Me.ListBox_RücktrittNormal_M.RowSource deklariert ist und außerdem daran denken, dass bei 2. und 3. ganze Bereiche von Zellen zugewiesen werden. Also müsste Me.ListBox_RücktrittNormal_M.RowSource eigentlich vom Typ Range sein. Oder sehe ich da was falsch?
Schöne Grüße, Jana
zeile = 6
Do Until .Cells(zeile, 70) = ""
zeile = zeile + 1
If zeile = 21 Then Exit Do
Loop
Entweder bis von Zeile 6 abwärts mal eine Zelle in Spalte BR leer ist oder spätestens ist in Zeile 21 Schluss.
Was willst Du denn mit einem O ? Diese hässliche Fratze noch hässlicher machen? Ich schenk Dir einen Eimer weiße Farbe, damit Du die Dinger alle überpinseln kannst.
Zum Problem in Antwort 2. Eine Typunverträglichkeit könnte höchstens an einer der 3 Stellen
Me.ListBox_RücktrittNormal_M.RowSource = ""
oder
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(20, 72))
oder
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(zeile-1, 72))
vorkommen. Dazu müsste man wissen, wie Me.ListBox_RücktrittNormal_M.RowSource deklariert ist und außerdem daran denken, dass bei 2. und 3. ganze Bereiche von Zellen zugewiesen werden. Also müsste Me.ListBox_RücktrittNormal_M.RowSource eigentlich vom Typ Range sein. Oder sehe ich da was falsch?
Schöne Grüße, Jana
Antwort 6 von Jana_
Noch was, habe ich gerade ausprobiert.
Dim r As Range
r = ActiveSheet.Range("A1:B4")
funktioniert nicht, aber
Dim r As Range
Set r = ActiveSheet.Range("A1:B4")
Man muss also Set verwenden.
Grüße!
Dim r As Range
r = ActiveSheet.Range("A1:B4")
funktioniert nicht, aber
Dim r As Range
Set r = ActiveSheet.Range("A1:B4")
Man muss also Set verwenden.
Grüße!
Antwort 7 von fürLau
Hallo
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Zitat:
Diese hässliche Fratze noch hässlicher machen? Ich schenk Dir einen Eimer weiße Farbe, damit Du die Dinger alle überpinseln kannst.
ermundert einen richtig Dir zu helfen.;-)Diese hässliche Fratze noch hässlicher machen? Ich schenk Dir einen Eimer weiße Farbe, damit Du die Dinger alle überpinseln kannst.
With Sheets("US")
.Cells(6, 70).Select
If .Cells(6, 70) = "" Then
Me.ListBox_RücktrittNormal_M.RowSource = ""
Else
zeile = 6
Do Until .Cells(zeile, 70) = ""
zeile = zeile + 1
If zeile = 21 Then Exit Do
Loop
If zeile = 21 Then
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(20, 72)).Address
Else
Me.ListBox_RücktrittNormal_M.RowSource = .Range(.Cells(6, 70), .Cells(zeile - 1, 72)).Address
End If
End If
End With
Zitat:
Also müsste Me.ListBox_RücktrittNormal_M.RowSource eigentlich vom Typ Range sein. Oder sehe ich da was falsch?
Typ ist String ! (Kein Tanga;-)Also müsste Me.ListBox_RücktrittNormal_M.RowSource eigentlich vom Typ Range sein. Oder sehe ich da was falsch?
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Antwort 8 von Rahel04
Hallo,
das mit der weissen Farbe war aber nicht ich, im Gegenteil, ich bin dir für jede Hilfe dankbar..
Ich habe deinen Code reinkopiert und erhalte folgende Fehlermeldung:
Laufzeitfehler ´1004´: Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden
Somit wäre ich bereits wieder am Ende und auf deine Hilfe angewiesen...
Lieber Gruss
Rahel
das mit der weissen Farbe war aber nicht ich, im Gegenteil, ich bin dir für jede Hilfe dankbar..
Ich habe deinen Code reinkopiert und erhalte folgende Fehlermeldung:
Laufzeitfehler ´1004´: Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden
Somit wäre ich bereits wieder am Ende und auf deine Hilfe angewiesen...
Lieber Gruss
Rahel
Antwort 9 von fürLau
Hallo, Rahel
Lösche zunächst die 2.Zeile (.Cells(6, 70).Select) und versuch´s nochmal.
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Lösche zunächst die 2.Zeile (.Cells(6, 70).Select) und versuch´s nochmal.
Gruß[h3]{[h1]Ó¤[sup...fürLau
Signatur wurde ganz und gar ohne SNTool erstellt.
Antwort 10 von Rahel04
Hallo,
jetzt wirds spannend. Lösche ich die genannte Zeile, gibts zumindest keine Fehlermeldung mehr.
ABER: Klicke ich in der Listbox auf einen Datensatz, so wird dessen Inhalt in einzelne Textfelder gelesen; und das funktioniert auch. Aber die Listbox ist leer!! Zumindest kann ich visuell nichts erkennen. Verstehst du was ich meine?
Ich kanns kaum besser erklären, hab sowas noch nie erlebt.
Gruss Rahel
jetzt wirds spannend. Lösche ich die genannte Zeile, gibts zumindest keine Fehlermeldung mehr.
ABER: Klicke ich in der Listbox auf einen Datensatz, so wird dessen Inhalt in einzelne Textfelder gelesen; und das funktioniert auch. Aber die Listbox ist leer!! Zumindest kann ich visuell nichts erkennen. Verstehst du was ich meine?
Ich kanns kaum besser erklären, hab sowas noch nie erlebt.
Gruss Rahel