Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

UserForm ListBox Daten





Frage

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 1 von rainberg

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

Hallo Rainer

vielen Dank für deine schnelle Antwort,aber es funktioniert leider nicht.

Gruß Helmut

Antwort 3 von rainberg

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

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

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

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

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.xls

Auch Dir Frohe Ostern

Gruss
Rainer

Antwort 8 von Helmut46

Hallo Rainer,

vielen herzlichen Dank, es klappt super !!!
Dies wird meine Arbeit um einiges erleichtern.

Danke Helmut

Antwort 9 von Helmut46

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

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

Hallo Rainer,

klapp super !!!

danke Helmut