Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

mehrspaltige Listbox füllen

Betrifft: mehrspaltige Listbox füllen von: DirkR
Geschrieben am: 23.10.2014 09:31:04

Hallo Excelgemeinde,

ich brauch eure Hilfe. Ich habe folgendes Problem:

Folgender Code aus dem Forum läuft ab, wenn ein TextBox.Change Ereignis ausgelöst wird. Die Listbox wird mit 34 Spalten gefüllt. Nun möchte ich, dass bei jeder Veränderung aller TextBoxen die Listbox neu gefüllt wird. Das funktioniert mit dem Code auch gut, allerdings muss ich das ganze in Abhängigkeit von insgesamt 32 TextBoxen realisieren. Habe dies schon mit 11 TextBoxen realisiert.

Meine Frage nun....gibt es eine elegantere Lösung als den Code so wie unten zu erweitern???

Die Zweite Frage: Kann man das ganze so gestalten, dass ich Spaltenüberschriften hinbekomme??? Denn 34 Spalten ohne Überschriften ist nicht wirklich komfortabel!

HOFFE AUF HILFE!!!

Hier mein Code:

Private Sub prcFillListbox()
    If bolNoAction = True Then Exit Sub
    
    Dim arrListe, lngJ As Long, lngL As Long, Spalte As Long
    Dim strNN As String, strVN As String, strSTR As String, strHNR As String, strPLZ As String,  _
strORT As String, strTELF As String, _
        strTELM As String, strFAX As String, strMAIL As String, strADRQ As String
        
    strNN = LCase(Me.TextBox2.Value)
    strVN = LCase(Me.TextBox3.Value)
    strSTR = LCase(Me.TextBox4.Value)
    strHNR = LCase(Me.TextBox5.Value)
    strPLZ = LCase(Me.TextBox6.Value)
    strORT = LCase(Me.TextBox7.Value)
    strTELF = LCase(Me.TextBox8.Value)
    strTELM = LCase(Me.TextBox9.Value)
    strFAX = LCase(Me.TextBox10.Value)
    strMAIL = LCase(Me.TextBox11.Value)
    strADRQ = LCase(Me.TextBox12.Value)
     
    ReDim arrListe(1 To 34, LBound(arrData, 1) To UBound(arrData, 1))
    For lngL = LBound(arrData, 1) To UBound(arrData, 1)
        If LCase(Left(arrData(lngL, 4), Len(strNN))) = strNN Or strNN = "" Then 'Nachname
        If LCase(Left(arrData(lngL, 5), Len(strVN))) = strVN Or strVN = "" Then 'Vorname
        If LCase(Left(arrData(lngL, 6), Len(strSTR))) = strSTR Or strSTR = "" Then 'Straße
        If LCase(Left(arrData(lngL, 7), Len(strHNR))) = strHNR Or strHNR = "" Then 'Hausnummer
        If LCase(Left(arrData(lngL, 8), Len(strPLZ))) = strPLZ Or strPLZ = "" Then 'PLZ
        If LCase(Left(arrData(lngL, 9), Len(strORT))) = strORT Or strORT = "" Then 'Ort
        If LCase(Left(arrData(lngL, 10), Len(strTELF))) = strTELF Or strTELF = "" Then 'Tel.  _
Festnetz
        If LCase(Left(arrData(lngL, 11), Len(strTELM))) = strTELM Or strTELM = "" Then 'Tel.  _
Mobil
        If LCase(Left(arrData(lngL, 12), Len(strFAX))) = strFAX Or strFAX = "" Then 'Fax
        If LCase(Left(arrData(lngL, 13), Len(strMAIL))) = strMAIL Or strMAIL = "" Then 'Mail
        If LCase(Left(arrData(lngL, 14), Len(strADRQ))) = strADRQ Or strADRQ = "" Then ' _
Adressquelle
          
          lngJ = lngJ + 1
          For Spalte = 1 To 34
            arrListe(Spalte, lngJ) = arrData(lngL, Spalte)
          Next
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
        End If
    Next
    Me.ListBox1.Clear
    If lngJ > 0 Then
      ReDim Preserve arrListe(1 To 34, 1 To lngJ)
      Me.ListBox1.Column = arrListe
    End If
    Erase arrListe
End Sub
Gruß DirkR

  

Betrifft: AW: mehrspaltige Listbox füllen von: Tino
Geschrieben am: 23.10.2014 09:54:08

Hallo,
wenn Du ein Beispieldatei hochladen kannst,
könnte ich versuchen etwas mit einem ListView einzubauen.
Bei einem ListView, kann man Spaltenüberschriften darstellen.

Gruß Tino


  

Betrifft: bin jetzt weg, ich lass daher mal offen! oT. von: Tino
Geschrieben am: 23.10.2014 12:14:22




  

Betrifft: AW: bin jetzt weg, ich lass daher mal offen! oT. von: DirkR
Geschrieben am: 23.10.2014 23:20:32

Hallo Tino,
bin nun wieder am Rechner.

Hier die Beispieldatei:
https://www.herber.de/bbs/user/93326.xlsm

Gruß DirkR


  

Betrifft: AW: mehrspaltige Listbox füllen von: DirkR
Geschrieben am: 23.10.2014 23:12:02

Hallo Tino,
so bin nun wieder am Rechner.

Hier die Beispieldatei:
https://www.herber.de/bbs/user/93326.xlsm

danke schon mal.

Gruß DirkR


  

Betrifft: AW: mehrspaltige Listbox füllen von: DirkR
Geschrieben am: 23.10.2014 23:16:23

Hallo Tino,
bin nun wieder am Rechner.

Hier die Beispieldatei:
https://www.herber.de/bbs/user/93326.xlsm

danke schon mal.

Gruß DirkR


  

Betrifft: noch offen von: DirkR
Geschrieben am: 23.10.2014 23:17:45

noch offen...


  

Betrifft: AW: mehrspaltige Listbox füllen von: DirkR
Geschrieben am: 23.10.2014 23:51:45

Hallo Tino,
bin nun wieder am Rechner.

Hier die Beispieldatei:
https://www.herber.de/bbs/user/93326.xlsm

Gruß DirkR


  

Betrifft: schau mal ob es so geht von: Tino
Geschrieben am: 24.10.2014 10:35:35

Hallo,
habe ein Listview und ein Klassenmodul eingebaut, kannst mal testen.

https://www.herber.de/bbs/user/93335.xlsm

Gruß Tino


  

Betrifft: AW: schau mal ob es so geht von: DirkR
Geschrieben am: 24.10.2014 13:47:11

Hallo Tino,

danke für deine Mühe. Das sieht schon ganz gut aus.
Allerdings listet er mir nun nicht mehr alle Einträge in der Listbox auf, wenn die Textboxen alle leer sind und ich kann die Auswahl aus der Listbox nicht mehr in die Textboxen übernehmen.


Gruß DirkR


  

Betrifft: wollte dir auch etwas übrig lassen. von: Tino
Geschrieben am: 24.10.2014 14:37:56

Hallo,
versuch mal ob es so gewollt ist.

https://www.herber.de/bbs/user/93340.xlsm


Gruß Tino


  

Betrifft: AW: wollte dir auch etwas übrig lassen. von: DirkR
Geschrieben am: 24.10.2014 17:12:04

Hallo Tino,

super, super!!!

Jetzt kann ich weiter basteln ;-)

Vielen Dank!



Gruß DirkR


  

Betrifft: AW: wollte dir auch etwas übrig lassen. von: DirkR
Geschrieben am: 25.10.2014 09:17:19

Hallo Tino,

habe nun noch mehr getestet.

2 Dinge funktionieren nicht mehr, die in der Beispieldatei funktioniert haben.
- Ich hätte gerne die Auflistung in der Listbox ab Spalte F inkl. Überschriften und
- Beim Doppelclick auf die Listbox soll er ab Listboxspalte 3 (Herr) alle Eintragungen in die Textboxen übernehmen und die Eintragungen der Listboxspalten 1 und 3 in die Label100 und Label101 übernehmen.

Hoffe auf deine Hilfe!

Gruß Dirk R


  

Betrifft: AW: wollte dir auch etwas übrig lassen. von: Tino
Geschrieben am: 25.10.2014 10:07:57

Hallo,
kannst mal testen

https://www.herber.de/bbs/user/93360.xlsm

Gruß Tino


  

Betrifft: AW: wollte dir auch etwas übrig lassen. von: DirkR
Geschrieben am: 25.10.2014 10:53:47

Hallo Tino,

vielen, vielen Dank..... nun funzt alles!!!

Gruß Dirk


 

Beiträge aus den Excel-Beispielen zum Thema "mehrspaltige Listbox füllen"