Listbox RowSource

12/01/2008 - 01:29 von FRANZ LUWEIN | Report spam
Hallo alle,

EXCEL 2002, SP3
Win XP Prof, SP 2 Build 2600

Ich habe ein (weiteres) Problem und bitte um Hilfe.

Auf meiner Userform befinden sich List- und Textboxen.
Nach dem Verlassen von TB_VN soll aus einen festen Text und den Werten
aus LB_Art und LB_Ort der Name eines vorhandenen Tabellenblattes
gebildet werden. Danach wird auf diesem TBL im Bereich A2:A72 nach dem
Begriff gesucht, der in TB_VN eingegeben wurde. Soweit so gut.
Nun soll der LB_SchonDa die RowSource übergeben werden.
Doch genau das funktioniert nicht. Keine Meldung, keine Eintragung,
nichts wird angezeigt.
Was mache ich da falsch?

Mit freundlichen Grüßen

Franz Luwein



Sub TB_VN_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim c As Range
Dim TBL As String

TBL = "SL-" & LB_Art.value & "-" & LB_Ort.value

On Error Resume Next

With Worksheets(TBL).Range("A2:A72")

Set c = .Find(TB_VN, LookIn:=xlValues)

If Not c Is Nothing Then

UF_SL.LB_SchonDa.RowSource = TBL & "!A" & c.Row + 1 & ":B" & c.Row + 10

End If

End With
End Sub
 

Lesen sie die antworten

#1 {Boris}
12/01/2008 - 09:20 | Warnen spam
Hi Franz,

On 12 Jan., 01:29, FRANZ LUWEIN wrote:

Auf meiner Userform befinden sich List- und Textboxen.
Nach dem Verlassen von TB_VN soll aus einen festen Text und den Werten
aus LB_Art und LB_Ort der Name eines vorhandenen Tabellenblattes
gebildet werden. Danach wird auf diesem TBL im Bereich A2:A72 nach dem
Begriff gesucht, der in TB_VN eingegeben wurde. Soweit so gut.
Nun soll der LB_SchonDa die RowSource übergeben werden.
Doch genau das funktioniert nicht. Keine Meldung, keine Eintragung,
nichts wird angezeigt.
Was mache ich da falsch?

Sub TB_VN_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim c As Range
Dim TBL As String

TBL = "SL-" & LB_Art.value & "-" & LB_Ort.value

On Error Resume Next

With Worksheets(TBL).Range("A2:A72")

     Set c = .Find(TB_VN, LookIn:=xlValues)

     If Not c Is Nothing Then

UF_SL.LB_SchonDa.RowSource = TBL & "!A" & c.Row + 1 & ":B" & c.Row + 10

End If

End With
End Sub



Ohne die Inhalte Deiner Variablen zu kennen, ist es schwierig. Kann es
vielleicht sein, dass Dein neuer Blattname auch Leerzeichen enthalten
kann? Falls ja, dann musst Du das in dem zusammengebastelten String
gebührend mit den beiden Hochkommata berücksichtigen. Ein Bezug auf
ein Blatt/Zelle mit einem Leerstring folgt dieser Syntax:

Me.ListBox1.RowSource = "'Tabelle 2'!A1:A3"

Grüße Boris

Ähnliche fragen