Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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

VBA Anzahl in Zelle C18 schreiben/ einfrieren

VBA Anzahl in Zelle C18 schreiben/ einfrieren
Marcy
Hallo Forum,
mit unterem Code entferne ich meine doppelten Einträge in Spalte A ab Zeile 25.
Funktioniert auch.
Jetzt hätte ich allerdings gerne mindestens eine Erweiterung:
In Zelle C18, soll vor dem Löschen die Anzahl der gefüllten Zellen (handelt sich um Zahlen) eingetragen werden.
Beispiel vor dem Löschen Spalte A
1
1
2
2
3
3
4
4
Nach Ausführung des Codes soll in C18 dann 8 stehen. In D18 steht von mir geschrieben :Identnummern umfasste die Liste vor Entfernung der Doppelten.
die Spalte A sieht nach Ausführung dann so aus:
1
2
3
4
Da ich mir sicher bin, dass jemand hier den Code optimieren kann (schneller) wäre ich auch dafür dankbar.
Da für diese Vorlage nicht klar ist, wie lang die Liste sein kann, die hiermit gekürzt werden soll, sollte der Code bis ganz unten gehen.
PS: Mache jetzt Feierabend, denke eine Antwort von mir ist erst morgen zu erwarten.
Gruß Marcy

Sub DoppelteZeilenLöschen()
Dim iRow As Integer, iRowL As Integer
On Error GoTo ErrExit
iRowL = Cells(Cells.Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
If iRowL > 25 Then
For iRow = iRowL To 25 Step -1
If WorksheetFunction.CountIf(Range("A25:A" & iRowL), Cells(iRow, 1)) > 1 Then
Rows(iRow).Delete
End If
Next iRow
End If
ErrExit:
Application.ScreenUpdating = True
End Sub

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

Betreff
Benutzer
Anzeige
AW: VBA Anzahl in Zelle C18 schreiben/ einfrieren
27.10.2011 08:24:59
Marc
Guten Morgen!
Rows(iRow).Delete braucht ziemlich Zeit. Wäre es nicht möglich, die Zellinhalte nur zu löschen und am Ende zu sortieren (um die leeren Zellen aus dem Bereich zu kriegen)?
Das "Application.ScreenUpdating = True" ist unnötig, wird am Ende jeder Prozedur immer eingeschaltet
gefüllte Zellen kannst du anschließend mit
WorksheetFunction.CountIf(Range("A25" & ":A" & iRowL), Cells(iRow, 1)) zählen
Gruß; Marc
AW: VBA Anzahl in Zelle C18 schreiben/ einfrieren
27.10.2011 12:42:13
Marcy
Hallo Marc,
wie schon geschrieben bin ich für jede Verbesserung dankbar.
Werde es morgen testen, die Datei ist auf der Arbeit.
Ich möchte aber nicht anschließend zählen, sondern vor dem Löschen.
Dieser Wert soll dann eingefroren in C18 stehen.
Dann kann man sehen, wie viele Identnummern vorher da waren und wie viele es jetzt sind.
Gruß Marcy
Anzeige

406 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige