Live-Forum - Die aktuellen Beiträge
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
31.01.2007 10:19:11
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

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

Betreff
Datum
Anwender
Anzeige
AW: Problem mit Makro
31.01.2007 11:15:15
Luschi
Hallo Wolfgang,
schau Dir mal die Antworten zu folgendem Thread an:
http://www.spotlight.de/zforen/mse/m/mse-1170094906-12328.html.
Hier geht es genau daraum, daß bei eingeschaltetem Filter die letzte Zeile einer Spalte
falsch ermittelt wird.
Eine sinnvolle Lösung hat Beate Schmitz veröffentlicht.
Gruß von Luschi
aus klein-Paris
AW: Problem mit Makro
31.01.2007 11:47:09
Wolfgang
Hallo Luschi,
es ist ja lieb gemeint mit dem Tip. Aber meine Kenntnisse von VBA sind gelinde gesagt gering.
Das Beispiel von Mathias könnte passen, aber ich weis nicht wie ich bei seinem Beispiel meinen Privat

Sub schreiben soll.
Hier das Beispiel von Mathias im dem Link von Dir.
lz = IIf(IsEmpty(Range("A" & Rows.Count)), Range("A" & Rows.Count).End(xlUp).Row, Rows.Count)
If lz < Rows.Count Then _
lz = Range("A" & lz + 1 & ":A" & Rows.Count).SpecialCells(xlCellTypeVisible).Row
End Sub

Wäre toll wenn mir da jemand zur Hand gehen könnte.
Danke
Wolfgang
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige