Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Füllen und Auslesen einer Listbox

Füllen und Auslesen einer Listbox
16.05.2018 08:13:32
Markus
Guten morgen zusammen,
ich benötige eure Hilfe ich bin gerade dabei mir ein Tool zum erstellen von Rechnungen zu "basteln"
Ich habe folgendes Problem über eine Combobox wird eine Artikel Nr. ausgewählt und per Button wird dieser Artikel mit Namen und Preis in ein Listbox geschrieben, das funktioniert auch soweit .
  • 
    Private Sub CommandButton2_Click() 'auswahl in Listbox schreiben
    Dim rngCell As Range
    Dim strFirstAddress As String
    With Worksheets("Artikel").Range("A:Z")
    Set rngCell = .Find(Me.ComboBox3.Value, LookIn:=xlValues, lookat:=xlWhole)
    With Me.ListBox1
    .ColumnCount = 5
    .AddItem
    .List(.ListCount - 1, 0) = rngCell.Value
    .List(.ListCount - 1, 1) = rngCell.Offset(0, 1).Value
    .List(.ListCount - 1, 2) = TextBox1
    .List(.ListCount - 1, 3) = rngCell.Offset(0, 2).Value
    .List(.ListCount - 1, 4) = rngCell.Offset(0, 3).Value
    .ColumnWidths = "1cm;3cm;1cm;1cm;2cm"
    End With
    End With
    Label14 = ""
    Label15 = ""
    Label16 = ""
    Label17 = ""
    End Sub
    

  • Wenn jetzt mehrere Artikel in der Listbox vorhanden sind sollen diese in Tabelle4 "Rechnung" kopiert werden die erste Zeile der Listbox in Zelle A18 die zweite in B18 ... bis E18
    die Zweite Zeile der Listbox soll dann ab Zelle A19 geschrieben werden, usw.
    Leider hat bis jetzt keiner meiner Ansätze halbwegs funktioniert kann mir wer bei der Lösung helfen

  • Private Sub CommandButton4_Click()
    Sheets("Rechnung").Select
    With Me.ListBox1
    Range("A18:G18").ClearContents
    Range("A18").Value = .List(.ListIndex, 0)
    Range("B18").Value = .List(.ListIndex, 1)
    Range("E18").Value = .List(.ListIndex, 2)
    Range("G18").Value = .List(.ListIndex, 3)
    Range("F18").Value = .List(.ListIndex, 4)
    End With
    End Sub

  • Das ist der aktuell übrig gebliebene Code der die daten Kopieren soll
    Hier der Link zur Datei
    https://www.herber.de/bbs/user/121636.xlsm
    vielen Dank schon mal im Voraus
    Markus

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Füllen und Auslesen einer Listbox
    16.05.2018 10:30:34
    ChrisL
    Hi Markus
    Die Tatsache, dass du in der Listbox und in der Rechnung zwei Spalten getauscht hast, habe ich ignoriert.
    Public b As Boolean
    

    Private Sub CommandButton1_Click()
    UserForm3.Hide
    End Sub
    
    
    Private Sub UserForm_Initialize()
    ListBox1.Clear
    Label4.Caption = (" ")
    Label5.Caption = (" ")
    Label6.Caption = (" ")
    Label7.Caption = (" ")
    Label8.Caption = (" ")
    Label14.Caption = (" ")
    Label15.Caption = (" ")
    Label16.Caption = (" ")
    Label17.Caption = (" ")
    Label19.Caption = (" ")
    With Sheets("Kunden")
    ComboBox1.List = .Range(.Cells(2, 1), .Cells(.UsedRange.Rows.Count, 1)).Value
    ComboBox2.List = .Range(.Cells(2, 4), .Cells(.UsedRange.Rows.Count, 4)).Value
    End With
    With Sheets("Artikel")
    ComboBox3.List = .Range(.Cells(2, 1), .Cells(.UsedRange.Rows.Count, 1)).Value
    ComboBox4.List = .Range(.Cells(2, 4), .Cells(.UsedRange.Rows.Count, 2)).Value
    End With
    End Sub
    

    Private Sub Combobox1_change()
    With Sheets("Kunden")
    Label4.Caption = .Cells(ComboBox1.ListIndex + 2, 3)
    Label5.Caption = .Cells(ComboBox1.ListIndex + 2, 4)
    Label6.Caption = .Cells(ComboBox1.ListIndex + 2, 5)
    Label7.Caption = .Cells(ComboBox1.ListIndex + 2, 6)
    Label8.Caption = .Cells(ComboBox1.ListIndex + 2, 7)
    Label19.Caption = .Cells(ComboBox1.ListIndex + 2, 2)
    End With
    b = True
    ComboBox2.ListIndex = ComboBox1.ListIndex
    b = False
    End Sub
    

    Private Sub Combobox2_change()
    If Not b Then ComboBox1.ListIndex = ComboBox2.ListIndex
    End Sub
    

    Private Sub Combobox3_change()
    With Sheets("Artikel")
    Label14.Caption = .Cells(ComboBox3.ListIndex + 2, 2)
    Label15.Caption = .Cells(ComboBox3.ListIndex + 2, 3)
    Label16.Caption = .Cells(ComboBox3.ListIndex + 2, 4)
    Label17.Caption = .Cells(ComboBox3.ListIndex + 2, 1)
    End With
    b = True
    ComboBox4.ListIndex = ComboBox3.ListIndex
    b = False
    End Sub
    

    Private Sub Combobox4_change()
    If Not b Then ComboBox3.ListIndex = ComboBox4.ListIndex
    End Sub
    
    
    Private Sub CommandButton2_Click() 'auswahl in Listbox schreiben
    Dim rngCell As Range
    Set rngCell = Worksheets("Artikel").Range("A:Z").Find(Me.ComboBox3.Value, LookIn:=xlValues,  _
    lookat:=xlWhole)
    With Me.ListBox1
    .ColumnCount = 5
    .AddItem
    .List(.ListCount - 1, 0) = rngCell.Value
    .List(.ListCount - 1, 1) = rngCell.Offset(0, 1).Value
    .List(.ListCount - 1, 2) = TextBox1
    .List(.ListCount - 1, 3) = rngCell.Offset(0, 2).Value
    .List(.ListCount - 1, 4) = rngCell.Offset(0, 3).Value
    .ColumnWidths = "1cm;3cm;1cm;1cm;2cm"
    End With
    Label14 = ""
    Label15 = ""
    Label16 = ""
    Label17 = ""
    End Sub
    
    
    Private Sub CommandButton3_Click()
    With Worksheets("Rechnung")
    .Range("A2") = Label19
    .Range("A3") = Label4
    .Range("B3") = Label5
    .Range("A4") = Label6
    .Range("A5") = Label7
    .Range("B5") = Label8
    End With
    End Sub
    

    Private Sub CommandButton4_Click()
    Sheets("Rechnung").Range("A18:E" & ListBox1.ListCount + 17) = ListBox1.List
    End Sub
    
    cu
    Chris
    Anzeige
    AW: Füllen und Auslesen einer Listbox
    16.05.2018 11:11:33
    Markus
    WOW Vielen lieben Dank !!!
    Nicht nur das es jetzt funktioniert du hast ja auch noch den kompletten Code aufgeräumt und an einigen Stellen verbessert.
    Die Vertauschten Zeilen sind heute morgen dabei enstanden als ich die paar Vertraulichen Daten rausgeschmissen haben.
    Danke

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige