Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
840to844
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
840to844
840to844
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem mit Makro.....

Problem mit Makro.....
01.02.2007 14:46:06
Wolfgang
Hallo zusammen,
unten aufgeführtes Makro sucht den höchsten Wert in Spalte A und addiert 1 hinzu wenn eine Zeile eingefügt wird.
Das Makro funktioniert einwandfrei, aber nur solange wenn in dem Dokument kein Filter gesetzt ist.
Frage kann das Makro so umgeschrieben werden das es auch funktioniert wenn ein Filter gesetzt ist.
Vielen Dank im vorraus.

Private Sub Worksheet_Change(ByVal Target As Range)
'Spaltenwert in A, automatisch um eins erhöhen wenn eine Zeile eingefügt wird
lr = Cells(Rows.Count, 1).End(xlUp).Row
If lz >= lr Then Exit Sub
Dim r  As Integer
r = ActiveCell.Row
lz = Cells(Rows.Count, 1).End(xlUp).Row
Set myRange = Range(Cells(1, 1), Cells(lz, 1))
Cells(r, 1) = Application.WorksheetFunction.Max(myRange) + 1
End Sub

Das Beispiel von Mathias im Spotlight greift das Problem auf und könnte passen, aber ich weis nicht wie ich bei seinem Beispiel meinen Privat
Sub schreiben soll.
Hier das Beispiel von Mathias
lz = IIf(IsEmpty(Range("A" & Rows.Count)), Range("A" & Rows.Count).End(xlUp).Row, Rows.Count)
If lz lz = Range("A" & lz + 1 & ":A" & Rows.Count).SpecialCells(xlCellTypeVisible).Row
End Sub
Wäre toll wenn mir jemand zu Hand gehen könnte.
Gruß
Wolfgang

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Makro.....
04.02.2007 15:08:35
Gerd
Hallo Wolfgang,
so ?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myRange As Range, lz As Long, r  As Long
lz = Cells(Rows.Count, 1).End(xlUp).Row
If ActiveCell.Row <= lz Then Exit Sub
r = ActiveCell.Row
Set myRange = Range(Cells(1, 1), Cells(lz, 1)).Cells.SpecialCells(xlCellTypeVisible)
Cells(r, 1) = Application.WorksheetFunction.Max(myRange) + 1
End Sub

Gruß
Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige