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

Autofilter - Zeilenweise bearbeiten VBA

Autofilter - Zeilenweise bearbeiten VBA
18.01.2014 22:17:35
Stefan
Hallo Zusammen,
ich habe eine Tabelle über den Autofilter gefilter (mit VBA). Nun möchte ich zeilenweise hinter jeder Zeile (in Spalte J) etwas eintragen, weiß aber die Zeilennummer des Active.CurrentRegion nicht. Im dem Handbuch habe ich gefunden, wie ich die letzte oder die erste Zeile heißt, aber nicht die Zeilennummer der einzelnen Zeilen in dem gefilterten Bereich. Wäre sehr dankbar für eure Hilfe.
Gruß Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter - Zeilenweise bearbeiten VBA
19.01.2014 05:26:36
Matze
Hallo Stefan,
eine Lösung für "JEDE" gefilterte Zeile wenn den "SELBEN WERT" einfügen möchtest hätte ich hier nun zusammen gebaut.
(Die Funktion hab ich hier im Forum gefunden ist von "Christian" supie, die ist gespeichert, grins)
WICHTIG:
- in den Function den Tabellennamen anpassen
- habe UsedRange benutzt für das Filtern ansonsten den Filterbereich anpassen
Musterdatei: https://www.herber.de/bbs/user/88878.xlsm
Gruß Matze

Vielen Dank - aber noch eine kleine Frage
19.01.2014 11:56:43
Stefan
Hallo Matthias,
konntest du nicht schlafen? Vielen Dank für deine Antwort. Den Beitrag habe ich nicht gefunden.
Woher weißt du immer in welchem Beitrag was steht, denn die Betreffzeile sagt oft nicht viel aus?
Nun gut, mir hat der Betrag super weitergeholfen und ich habe mir die Datei angesehen.
Ich mußte sie aber ein wenig umändern, da ich Application.CountA nicht gefunden habe.
With Application
If .CountA(wks.Cells) = 0 Then Exit Function
If .CountA(wks.Rows(wks.Rows.Count)) Then
LastRow = wks.Rows.Count: Exit Function
End If
Vielleicht kannst du mir da noch helfen, es hat aber auch mit einer anderen Funktion geklappt. Nochmals vielen Dank.
Stefan

Anzeige
AW: Vielen Dank - aber noch eine kleine Frage
19.01.2014 13:18:24
Matze
Hallo Stefan,
zu: Ich mußte sie aber ein wenig umändern, da ich Application.CountA nicht gefunden habe.

versteh das "nicht gefunden" nicht, bekommst du eine Fehlermeldung?
An der

Function LastRow NIX ändern , nur die ist für dich wichtig, denn diese ermittelt "die Letzte  _
Zeile"
- Das Makro:

Sub SetSpalte_J()
Application.ScreenUpdating = False
With ActiveSheet 'im aktuellen Blatt
'setze den Autofilter im "benutzten Bereich"
.UsedRange.AutoFilter Field:=5, Criteria1:="44444" 'UsedRange oder definierte mit .Range("$A$1: _
$F$12")
.Range("J1:J" & LastRow(Sheets("Tabelle1"))).FormulaR1C1 = "x" 'Blattname anpassen WICHTIG!
.Range("J1").ClearContents 'erste Zeile löschen
.UsedRange.AutoFilter
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Vielen Dank - aber noch eine kleine Frage
19.01.2014 20:08:50
Stefan
Hallo Matthias, alles im grünen Bereich. Ich hatte gedacht, dass die Function bei mir nicht so funktioniert, da in der DropDownliste CountA nicht aufgelistet war. Ich habe nur andere Function genommen, um die erste und die letzte Zeile zu ermitteln (aus dem Programmierhandbuch Excel 2010 - Microsoft). Hier einmal die Functions:

Function LastRow() As Long
If ActiveSheet.AutoFilterMode = True then
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Else
LastRow = 0
End If
End Function
und

Function FirstRow() As Long
If ActiveSheet.AutoFilterMode = True Then
FirstRow = ActiveSheet.Autofilter.Range.Offset(1,0).SpecialCells(xlVisible).Row
Else
FirstRow = 0
End If
End Function
damit hat es gut funktioniert.
Also nochmals danke und einen schönen Abend.
Gruß Stefan

Anzeige
Super, Danke für deine Rückmeldg. owT
19.01.2014 21:16:14
Matze

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige