Microsoft Excel

Herbers Excel/VBA-Archiv

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

Zeilennummer in Listbox einfügen

Betrifft: Zeilennummer in Listbox einfügen von: Peter
Geschrieben am: 08.10.2020 16:03:25

Hallo,
ich benötige eure Hilfe, da ich kein Ergebnis gefunden habe.
Mit dem nachstehenden Code befülle ich die ListBox1:

Sub Listbox1_fuellen()
    Dim lLastRow As Long

    With Worksheets("Tabelle1")

        lLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        arrData = .Range(.Cells(1, 1), .Cells(lLastRow, 12)).Value
    End With
    
    With ListBox1
    .Clear
    .ColumnCount = 12 '12
    .ColumnWidths = "3,3cm;4,0cm;2,0cm;3,0cm;3,5cm;3,0cm;3,0cm;5,5cm;4,8cm;2,1cm;2,3cm"
                          '     A     B     C     D     E     F     G     H     I     J     K    _
  L     M     N     O

        .List = arrData
    End With
End Sub
Im Bereich "arrData =... ist die zwölfte Spalte leer. Hier hätte ich gerne die Zeilennummer. Könnt ihr mir bitte helfen.

Gruss
Peter

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Hajo_Zi
Geschrieben am: 08.10.2020 16:35:44

Hallo Peter,

in der Spalte
=Zeile()

GrußformelHomepage

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Peter
Geschrieben am: 08.10.2020 16:49:35

Hallo Hajo,

besten Dank für Deine Hilfe. Ja, das funktioniert.

Wie erreiche ich, dass wenn eine neue Zeile ausgefüllt wird, dass die Zeilennummer bzw. Formel automatisch vergeben wird.

Z. B. Wenn neuer Datensatz eingefügt wird dass dann wenn in Spalte A eine Zelle gefüllt wird, wird Formel in Zelle in Spalte L eingefügt.

Gruss
Peter

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Hajo_Zi
Geschrieben am: 08.10.2020 17:19:04

Hallo Peter,

benutze eine inteligente Tabelle (als Tabelle formatieren)

Gruß Hajo

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Peter
Geschrieben am: 09.10.2020 08:26:34

Hallo Hajo,
besten Dank für Deine Hilfe. Leider hat das nicht funktioniert.

Ich habe jetzt aber eine einfache Lösung gefunden:

Beim Anlegen neuer Datensatz: .Cells(Zeile, 12).FormulaLocal = "=Zeile()"

Beim Löschen von Datensatz: .Cells(Zeile, 12).FormulaLocal = ""


Gruss
Peter

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Daniel
Geschrieben am: 08.10.2020 17:20:51

Hi

Damit das automatisch geht, müsstest die Tabelle als "intelligente" Tabelle formatieren.
Dann werden Formeln beim erweitern automatisch weitet geführt.


Andere Möglichkeit:
Nachdem du das Array aus dem Zellbereich übernommen hast, fülle die 12. Spalte per Schleife mit er Zeilennummer:

For i = 1 to ubound(arr)
arr(i, 12) = i + x
Next

Der Wert x hängt davon ab, in welcher Zeile deine Tabelle Beginnt.

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Peter
Geschrieben am: 09.10.2020 08:26:04

Hallo Daniel,
besten Dank für Deine Hilfe. Leider hat das nicht funktioniert.

Ich habe jetzt aber eine einfache Lösung gefunden:

Beim Anlegen neuer Datensatz: .Cells(Zeile, 12).FormulaLocal = "=Zeile()"

Beim Löschen von Datensatz: .Cells(Zeile, 12).FormulaLocal = ""


Gruss
Peter

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Yal
Geschrieben am: 08.10.2020 16:39:54

Probiere:
...
        Redim Preserve arrData(UBound(arrDat)+1)
        .List = arrData
    End With
End Sub

Was passiert dabei? dein Array wird um einen -leeren- Element erweitert und sollte matchen.

Du hast auch wahscheinlich eine Verschiebung: was als "A" sein soll, könnte die Wert aus B sein.

Viel Erfolg
Yal

Betrifft: AW: Zeilennummer in Listbox einfügen
von: Peter
Geschrieben am: 08.10.2020 16:46:23

Hallo Yal,
Dein Vorschlag funktioniert leider nicht.

Gruss
Peter

Betrifft: Sorry, Aufgabe zu schnell gelesen. owT
von: Yal
Geschrieben am: 08.10.2020 17:00:12

.