HERBERS Excel-Forum - das Archiv
Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo,
ich habe für bestimmte Bereiche Namen vergeben.
Es handelt sich immer um 3 Spalten auf einer Tabelle.
Mittels Application.Goto Reference:=TextBox1 wähle ich einen bestimmten Bereich aus.
Dieser Bereich soll nun in ein Listbox angezeigt werden bzw. noch besser dieser Bereich soll je Spalte auf 3 ListBoxes aufgeteilt und angezeigt werden.
Könnt ihr mir bitte hierbei helfen. Meine bisherige Suche im Archiv war leider erfolg-los.
Besten Dank
Gruss
Peter

AW: Listbox fuellen mit Wert entsprechend Markierung
Oberschlumpf

Hi Peter,
zeig mal bitte per Upload deine Datei, wie du sie bis jetzt hast.
Denn wie sollen wir helfen, wenn wir gar nicht wissen, welche Zellen du benutzt?
Die Originaldaten kannst du ja gegen Bsp-Daten austauschen.
Ciao
Thorsten
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Thorsten,
die Orginaldatei ist viel zu gross. Diese kann nicht übersandt werden.
Gehe einfach davon aus, dass es sich um die Spalten z.B. E1 bis G201 handelt.
Dementsprechend müssten dann Variable eingebaut werden.
Was mich sehr stört ist, dass ich das keine Nachricht per E-Mail erhalte, obwohl ich die aktiviert habe. Was kann man hier machen?
Gruss
Peter
AW: Listbox fuellen mit Wert entsprechend Markierung
Werner

Hallo Peter,
meinst du so:
Private Sub CommandButton1_Click()
If Me.TextBox1 <> "" Then
Me.ListBox1.List = Range(Me.TextBox1).Columns(1).Value
Me.ListBox2.List = Range(Me.TextBox1).Columns(2).Value
Me.ListBox3.List = Range(Me.TextBox1).Columns(3).Value
End If
End Sub
Gruß Werner
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Werner,
besten Dank für Deine Hilfe.
Es funktioniert einwandfrei. Jetzt werde ich noch eine Variable einbauen. Da sich die Columns(variable) je nach Auswahl ändert.
Kannst Du mir sagen was mit dem Excel-Forum los ist. Ich kreuze an, dass ich per EMail benachrichtigt werden soll, sobald eine Antwort vorhanden ist. Die funktioniert aber seit Tagen nicht mehr.
Gruss
Peter
AW: Listbox fuellen mit Wert entsprechend Markierung
Werner

Hallo Peter,
erst mal Danke für die Rückmeldung.
Zu deiner Frage:
Kann ich dir nicht sagen, da ich die E-Mail Benachrichtigung selbst nicht nutze und von daher auch nicht sagen kann, ob sie funktioniert oder nicht.
Gruß Werner
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Werner,
über den Commandbutton funktioniert das Befüllen der Listboxes.
Mit den Variablen klappt es jedoch nicht.
Spalte1 = 5 'BeginnSpalteA
Spalte2 = 6 'BeginnASp2
Spalte3 = 7 'BeginnSpalteE
'Anfang ListBoxes füllen
With Worksheets("Worddaten")
If Me.TextBox1 <> "" Then
Me.ListBox3.List = Range(Me.TextBox1).Columns(Spalte1).Value
Me.ListBox4.List = Range(Me.TextBox1).Columns(Spalte2).Value
Me.ListBox5.List = Range(Me.TextBox1).Columns(Spalte3).Value
End If
End With
'Ende ListBoxes füllen
Ergibt Laufzeitfehler 1004
Was muss ich bitte ändern?
Wie Kann ich erreichen, dass die Spalte von 2 bis 201 gefüllt wird und wenn in Celle Währung dann in Listbox = Währung mit € Zeichen.
besten Dank
Gruss
Peter
AW: Listbox fuellen mit Wert entsprechend Markierung
Werner

Hallo Peter,
was bitte willst du hiermit erreichen?
Spalte1 = 5 'BeginnSpalteA
Spalte2 = 6 'BeginnASp2
Spalte3 = 7 'BeginnSpalteE

Deinen Angaben zufolge ist das, was du in der TextBox1 eingibst jeweils ein benannter Bereich, der aus drei Spalten besteht.
Der benannte Bereich hat drei Spalten. Egal wo der Bereich beginnt (z.B. ist der Bereich namens "Peter" der Bereich O1:Q20) sprichst du dessen erste Spalte über Columns(1) an, die zweite Spalte über Columns(2) und die dritte Spalte über Columns(3).
Der Fehler kommt halt einfach davon, dass der benannte Bereich aus TextBox1 keine Spalte 5, 6 bzw. 7 hat.
Private Sub CommandButton1_Click()
Dim i As Long
On Error GoTo Ausgang
If Me.TextBox1 <> "" Then
Me.ListBox3.Clear
Me.ListBox4.Clear
Me.ListBox5.Clear
For i = 1 To 3
For Each raZelle In Range(Me.TextBox1).Columns(i).Cells
Me.Controls("Listbox" & i + 2).AddItem raZelle.Text
Next raZelle
Next i
End If
Exit Sub
Ausgang:
On Error GoTo 0
MsgBox "Es gibt keinen Bereich " & Me.TextBox1
End Sub
Gruß Werner
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Werner,
besten Dank. Leider ist raZelle nicht deklariert.
Gruss
Peter
AW: Listbox fuellen mit Wert entsprechend Markierung
Werner

Hallo Peter,
dann mach das halt:
Dim raZelle as Range
Gruß Werner
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Werner,
leider benötige ich nochmals Deine Hilfe.
das mit dem Befüllen der 3 Listboxes funktioniert einwandfrei.
Woran ich momentan jedoch scheitere ist, wie behandle ich die Daten bei ListBox_Click?
Ich habe da für die ListBox1 nachstehenden Code:
<pre>Private Sub CommandButton5_Click()
Dim objDocument As Object 'benötigt für Word
Dim strPath As String
If Me.ListBox1.ListIndex = -1 Then
Label7.Caption = "Es wurde kein Eintrag in Listbox1 gewählt"
Exit Sub
Else
'Anfang Auswahl kopieren in ListBox1
With Range("Worddaten!A2:A65536")
Me.Tag = "1"
.Cells(ListBox1.ListIndex + 1, 1).Copy
Me.Tag = ""
End With
'Ende Auswahl kopieren in ListBox1
If Me.TextBox2 = "" Then
Label7.Caption = "Bitte Worddatei auswählen"
Exit Sub
Else
strPath = Me.TextBox2
End If
' Set objDocument = GetObject(PathName:="C:\Users\Peter\Desktop\TestVereinEhemaliger_2019_09_23\Brief01.docm") 'ohne Variable
Set objDocument = GetObject(PathName:=strPath) 'mit Variable aus TextBox2
objDocument.Application.Run "Inhalte_einfuegen" 'führt ein Makro in diesem Dokument aus
Set objDocument = Nothing
Application.CutCopyMode = False
Me.ListBox1 = ""
End If
End Sub</pre>
Wenn ich die ListBox3 in einer Zeile anklicke, dann soll der Wert in der Spalte1 des gewählten Bereichs kopiert werden. Analog Spalte 2 in ListBox4 und Spalte 3 in ListBox5.
Besten Dank für Deine Hilfe.
Gruss
Peter
AW: Listbox fuellen mit Wert entsprechend Markierung
Peter

Hallo Werner,
hat sich erledigt - raZelle as Range
Gruss
Peter