Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1916to1920
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

Ü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

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
Anzeige
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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige