UserForm ListBox Daten
Hallo zusammen
habe mir nachfolgenden Code irgendeinmal von euch geben lassen. Es prüft mir dann Blatt "Material" Spalte B nach Namen und schreibt mir dann die dazugehörigen Daten aus Spalte A in die ListBox. Nun Möchte ich aber das es mir die
dazugehörigen Daten aus Spalte C und F auch in die ListBox
schreibt also A C und F
Private Sub CommandButton1_Click()
Dim Letzte_Zeile_in_Spalte_B As Long, Wiederholungen As Long
Letzte_Zeile_in_Spalte_B = Sheets("Material").Range("B65536").End(xlUp).Row
ListBox1.Clear
For Wiederholungen = 2 To Letzte_Zeile_in_Spalte_B
If Sheets("Material").Cells(Wiederholungen, 2) = CommandButton1.Caption Then
ListBox1.AddItem Sheets("Material").Cells(Wiederholungen, 1).Value & ", " _
& Sheets("Material").Cells(Wiederholungen, 2).Value & ", " _
End If
Next
ListBox1.ColumnWidths = "5,5cm;2,9cm;1,6cm;"
End Sube mir
Gruß Helmut
Antwort schreiben
Antwort 1 von rainberg vom 22.03.2020, 15:35 Options
Hallo Helmut,
probier mal das:
Option Explicit
Private Sub CommandButton1_Click()
Dim Letzte_Zeile_in_Spalte_B As Long, Wiederholungen As Long
Letzte_Zeile_in_Spalte_B = Sheets("Material").Range("B65536").End(xlUp).Row
ListBox1.Clear
For Wiederholungen = 2 To Letzte_Zeile_in_Spalte_B
If Sheets("Material").Cells(Wiederholungen, 2) = CommandButton1.Caption Then
ListBox1.AddItem Sheets("Material").Cells(Wiederholungen, 1).Value & ", " _
& Sheets("Material").Cells(Wiederholungen, 3).Value & ", " _
& Sheets("Material").Cells(Wiederholungen, 6).Value
End If
Next
ListBox1.ColumnWidths = "5,5 cm;2,9 cm;1,6 cm"
End Sub
Gruss
Rainer
Antwort 2 von Helmut46 vom 22.03.2020, 17:58 Options
Hallo Rainer
vielen Dank für deine schnelle Antwort,aber es funktioniert leider nicht.
Gruß Helmut
Antwort 3 von rainberg vom 22.03.2020, 18:27 Options
Hallo Helmut,
bei mir hat es funktioniert.
Wenn Du natürlich nicht schreibst, was bei Dir nicht funktioniert, wird Dir niemand helfen können.
Gruss
Rainer
Antwort 4 von Helmut46 vom 22.03.2020, 18:37 Options
Hallo Rainer
manchmal is man einfach nur doof....
Entschuldige bitte das ich nicht geschrieben habe was nicht
funktioniert. Es liest mir nur die Daten aus Spalt A ein, genau wie davor.
Der ColumnCount ist auf 3 gestellt.
Danke Helmut
Antwort 5 von rainberg vom 22.03.2020, 19:33 Options
Hallo Helmut,
das kann ich leider nicht nach vollziehen.
Bist Du sicher, dass Du auch da von mir geänderte Makro verwendest?
Kannst Du evtl. Deine Datei hoch laden?
Gruss
Rainer
Antwort 6 von Helmut46 vom 23.03.2020, 08:09 Options
Hallo Rainer
Habe dir die Daten Gestern schon hochgeladen weis nicht wo sie geblieben sind !!!!.......
Nachfolgende Adresse
http://www.uploadagent.de/show-88853-1206212292.html
Gruß Helmut und Frohe Ostern
Antwort 7 von rainberg vom 23.03.2020, 09:39 Options
Hallo Helmut,
da ich aus Deinem Makro nur eine verkettete Wiedergabe in der ListBox heraus lesen konnte und Du nicht ausdrücklich betont hast, dass die ListBox auch 3 Spalten erhalten soll, konnte mein Makro nicht funktionieren.
Habe nun im Arbeitsblatt "Material" eine Hilfsspalte eingefügt, in der alle Bezeichnungen per Formel aufgelistet werden und für diesen Bereich den Namen "Bezeichnungen" definiert.
Auf diesen Namen greift dann die Gültigkeitsliste in "Tabelle1"
Zelle A1 zu.
Damit kannst Du vor dem Makrostart die gewünschte Bezeichnung auswählen, deren Daten dann in der ListBox angezeigt werden.
http://upload.npcfighter.de/files/36/4140/re_material.xlsAuch Dir Frohe Ostern
Gruss
Rainer
Antwort 8 von Helmut46 vom 23.03.2020, 10:14 Options
Hallo Rainer,
vielen herzlichen Dank, es klappt super !!!
Dies wird meine Arbeit um einiges erleichtern.
Danke Helmut
Antwort 9 von Helmut46 vom 26.03.2020, 19:07 Options
Hallo Rainer,
habe da noch ein kleines Anliegen. Es klappt alles wunderbar
nur mit Formel in der Tabelle Material komme ich leider nicht klar.
Es liest mir die Daten nur bis Zeile 100 ein.
Wenn ich auf Hilfsspalte wo die Formel steht zweimal drücke zeigt es mir die Formel in verschieden Farben an, auch in der Tabelle und geht die
Grüne von Zeile A1:A100 bis Spalt IV
Blaue bis Spalte B1:B100 und ab B100 Violet glaub ich die ganze Spalte. Ich weiß nicht wieviel, habe irgendwan
aufgehört runter zu scrollen
Nachfolgend noch deine Formel
{=WENN(SUMME(WENN(B$1:B$100=0;"";1/ZÄHLENWENN(B$1:B$100;B$1:B$100))) < ZEILE(A3);0;INDEX(B:B;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1;;;ZEILE($1:$100));B$1:B$100)=1;ZEILE($1:$100));ZEILE(A3))))}
Danke für deine Hilfe
Gruß Helmut
Antwort 10 von rainberg vom 26.03.2020, 20:42 Options
Hallo Helmut,
dann ändere halt die Zeilenindizes in der Formel in H2 von 100 auf z.B. 500
=WENN(SUMME(WENN(B$1:B$500=0;"";1/ZÄHLENWENN(B$1:B$500;B$1:B$500))) < ZEILE(A2);0;INDEX(B:B;KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1;;;ZEILE($1:$500));B$1:B$500)=1;ZEILE($1:$500));ZEILE(A2))))
oder auf die Zahl, die der genauen Zeilenanzahl Deiner Tabelle entspricht.
Schließe die Formeleingabe mit Strg+Shift+Enter ab (weil Matrixformel) und kopiere die Formel nach Bedarf nach unten.
Gruss
Rainer
Antwort 11 von Helmut46 vom 27.03.2020, 11:34 Options
Hallo Rainer,
klapp super !!!
danke Helmut