Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte in gefilterter Liste hochzählen

Werte in gefilterter Liste hochzählen
17.01.2014 00:07:52
Inge
Hallo EXCEL-Fans,
bitte, kann mir jemand helfen? Ich such' mir 'nen Wolf ...
Meine Datei hat Werte (Zahlen) in der Spalte M. Diese stellen eine Rangfolge der Zeilen(einträge) dar und werden als Wert in die Zelle eingetragen (ist auch okay so). Die Anzahl der Zeilen mit Rang (also mit Eintrag in M) variiert. Die Spalte M hat auch leere Zellen.
Wenn ich eine Zeile lösche, in der in der Spalte M ein 'Rang' eingetragen war (z.B. Rang 20), habe ich in der Rangfolge eine Lücke (Rang 1 - 19 und 21 bis nn). Diese behebe ich bisher manuell (in freie Zelle eine 1 eintragen, Zelle kopieren, in Spalte M benutzerdefinierter Filter 'größer oder gleich' 20, Gehe zu .., Inhalte, nur sichtbare Zellen, Inhalte einfügen, addieren, Filter in M wieder raus, die anfangs eingetragene 1 wieder löschen).
Ich bastele an einem Makro (mit InputBox für den Autofilter), krieg's aber nicht hin. Wahrscheinlich denke ich zu kompliziert. Über Hilfe würde ich mich riesig freuen.
Gruß Inge

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte in gefilterter Liste hochzählen
17.01.2014 08:00:28
fcs
Hallo Inge,
die entsprechende Korrektur funktioniert auch ohne setzen des Filters, Die Wertprüfung kann man im Makro einbauen.
Gruß
Franz
Sub RangKorrigieren()
Dim wks As Worksheet
Dim lngZeile As Long
Dim lngRang As Variant
Dim lngSpalte As Long
lngSpalte = 13 'Spalte M = zu korrigierende Spalte
lngRang = Application.InputBox("Ab welcher Zahl soll Rang korrigiert werden?", _
Title:="Rang korrigieren", Type:=1)
If lngRang = False Then Exit Sub
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
For lngZeile = 2 To .Cells(.Rows.Count, lngSpalte).End(xlUp)
With .Cells(lngZeile, lngSpalte)
If IsNumeric(.Text) And .Value >= lngRang Then
.Value = .Value - 1
End If
End With
Next
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Werte in gefilterter Liste hochzählen
17.01.2014 15:50:09
Inge
Hallo Franz,
vielen Dank für die schnelle Antwort.
Das Makro erzeugt in der Zeile
For lngZeile = 2 To .Cells(.Rows.Count, lngSpalte).End(xlUp)
bei mir einen "Laufzeitfehler 13 - Typen unverträglich".
Habe ich vielleicht das falsche Format in den Werten oder Zellen? Werte sind Zahlen (mit ISTZAHL geprüft), Zellenformat = Standard.
Gruß Inge

Anzeige
AW: Werte in gefilterter Liste hochzählen
17.01.2014 17:18:03
Inge
.

AW: Werte in gefilterter Liste hochzählen
18.01.2014 01:01:33
fcs
Hallo Inge,
da hab ich noch eine Kleinigkeit übersehen, die mir beim Testen nicht aufgefallen ist.
Gruß
Franz
Sub RangKorrigieren()
Dim wks As Worksheet
Dim lngZeile As Long
Dim lngRang As Variant
Dim lngSpalte As Long
lngSpalte = 13 'Spalte M = zu korrigierende Spalte
lngRang = Application.InputBox("Ab welcher Zahl soll Rang korrigiert werden?", _
Title:="Rang korrigieren", Type:=1)
If lngRang = False Then Exit Sub
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
For lngZeile = 2 To .Cells(.Rows.Count, lngSpalte).End(xlUp).Row   'Korrektur
With .Cells(lngZeile, lngSpalte)
If IsNumeric(.Text) And .Value >= lngRang Then
.Value = .Value - 1
End If
End With
Next
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Werte in gefilterter Liste hochzählen
19.01.2014 16:52:01
Inge
Hallo Franz,
fantastisch!! Vielen lieben Dank, das Makro ist mir eine echte Hilfe!
Gruß Inge
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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