Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Überlauf

Forumthread: Überlauf

Überlauf
02.02.2023 11:24:34
Antonio
Hallo Gemeinde,
Private Sub UserForm_Initialize()
TextBox21.SetFocus
Dim rows
Dim i As Integer, x As Integer      'Listboxen füllen ohne leerezeilen
'Dim sh As Worksheet
''Set sh = Sheets("Neuer_Song").UsedRange.rows.Count
Worksheets("Neuer_Song").Activate
'ListBox7.ColumnCount = 1                                           '2 = Anzahl Spalten
rows = ActiveSheet.UsedRange.rows.Count
For i = 24 To rows
'If ActiveSheet.Cells(i, 2) > "" Then
'ListBox7.AddItem ActiveSheet.Cells(i, 2)                           '2 = Spalte B
'rows = rows + 1
MsgBox rows
'End If
Next
Ich versuche seit einer Stunde diesen Code zum Laufen zu bringen.
wenn ich die For Schleife raus nehme, die Msg gibt mir die zahl 500146 raus
obwohl das Blatt leer ist bis auf 200 zeilen.
Und Fehler 6 Überlauf
Bitte ein Wenig Hilfe
LG Antonio
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überlauf
02.02.2023 11:32:56
Rudi
Hallo,
und du solltest niemals VBA-Begriffe (hier rows) als Variablen benutzen.
Dim lngRows as Long
Gruß
Rudi
AW: Überlauf
02.02.2023 12:08:06
Antonio
Danke Michael
Danke Rudi
Die Tipps sind wertvoll.
Ich habe den Code so geändert:
Dim i As Integer
Dim lngRows As Long 'Listboxen füllen ohne leerezeilen
Worksheets("Neuer_Song").Activate
ListBox7.ColumnCount = 1
For i = 24 To lngRows
lngRows = ActiveSheet.Cells(i, 2).End(xlUp).row
If ActiveSheet.Cells(lngRows, 2) > "" Then
ListBox7.AddItem ActiveSheet.Cells(lngRows, 2)
lngRows = lngRows + 1
End If
Next
Aber ListBox7 bleibt leer.
Was mache ich falsch?
@Wieso funzt "Code
" nur einmal dann nicht mehr
LG Antonio

Anzeige
AW: Überlauf
02.02.2023 12:11:09
Rudi
Dim i As Integer
Dim lngRows As Long 'Listboxen füllen ohne leerezeilen
Worksheets("Neuer_Song").Activate
ListBox7.ColumnCount = 1
lngRows = ActiveSheet.Cells(i, 2).End(xlUp).row
For i = 24 To lngRows
If ActiveSheet.Cells(lngRows, 2) > "" Then
ListBox7.AddItem ActiveSheet.Cells(lngRows, 2)
End If
Next i

Anzeige
AW: Überlauf
02.02.2023 12:01:37
JoWE
Hallo Antonio,
versuch mal das:
Option Explicit
Private Sub UserForm_Initialize()
  Me.TextBox1.SetFocus
  Dim lngRows As Long, i As Long, x As Long
  Dim sh As Worksheet
  Set sh = Sheets("Neuer_Song")
  With sh
    lngRows = .Cells(rows.Count, 2).End(xlUp).Row
    For i = 24 To lngRows
      If .Cells(i, 2) > "" Then
        ListBox1.AddItem .Cells(i, 2)
      End If
    Next
  End With
End Sub
VG
Jochen
Anzeige
AW: Überlauf
02.02.2023 12:26:03
Antonio
@ Rudi bei dir kommt "Anwendungs Fehler" würde mich interessieren warum, weil dein Code sia auf die Schleifenposition ist gleich wie bei mir.
@ Jochen dein Code Funzt, würde mich interessieren auch warum, weil dein Code bis auf die Deklaration von Woorkssheet ist meiner gleich
LG Antonio
Anzeige
AW: Überlauf
02.02.2023 12:32:18
Daniel
Hi
Bei echten Leerzellen geht auch das:
Dim Zelle as Range
For each Zelle in Columns(2).Specialcells(xlcelltypeconstants)
    If Zelle.Row > 23 then Listbox7.AddItem Zelle.Value
Next
Gruß Daniel
AW: Überlauf
02.02.2023 12:48:52
Antonio
Danke Daniel.
noch kurzer, gefällt mir
LG Antonio
AW: @ Daniel
02.02.2023 12:53:16
Antonio
...und was ist wenn in den Zellen teilweise eine Formel drin ist.
Dann sind für dein Code alle voll
Gibt es noch ein Trik um die Formel umzugehen?
Wenn Zelle Text dann voll
Wenn Zelle Formel dann leer
LG Antonio
Anzeige
AW: @ Daniel
02.02.2023 13:46:05
Daniel
Du kannst das auch so machen
For each Zelle in ActiveSheet.Usedrange.Columns(2)
If Zelle.Row > 23 then if Zelle.Value > "" then listbox7.AddItem Zelle.Value
Next
Gruß Daniel
AW: Danke
02.02.2023 14:18:22
Antonio
.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige