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

Forumthread: rngBereich festlegen: letzte Zeile bis 100 Zeilen

rngBereich festlegen: letzte Zeile bis 100 Zeilen
06.02.2006 08:21:07
Peter
Hallo,
wer kann helfen?
Im voraus schon Danke für die Mühe
Peter
Ich möchte per Ereignisauslösung in der Spalte H bestimmte Einträge zählen.
Da die Tabelle ca. 20.000 Einträge im Jahr beinhaltet,. Dauert der von mir
gewählte Weg zu lange.
Zur Frage:
Ausschlaggebend für die Zählung sind die letzten 100 Einträge.
Wie legt man den „rngBereich“ so fest, dass von der letzten Zeile
Rückwärts der Inhalt von 100 Zeilen überprüft wird?
z.B- letzte Zeile 8.000 bis Zeile 7.900 überprüfen
Dabei sollte jedoch berücksichtigt werden wenn die letzte Zeile das nur bis zur Zeile 9 durchsucht wird.
Public AnzahlX As Object
'Aufruf im Klassenmodul
'

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Anzahl1 Target
'End Sub

Sub Anzahl1(ByVal Target As Excel.Range)
'####- Dauert zu lange bei 20.000 Zellen !!!
Set AnzahlX = Worksheets("Tabelle1").Range("F3")
Set rngBereich = Worksheets("Tabelle1").Range("H9:H20000")
AnzahlX = DatZell(rngBereich)
End Sub
Public Function DatZell(ByVal rngBereich As Object)
Dim intCounter As Integer
Dim rngAct As Range
For Each rngAct In rngBereich
If Int(rngAct.Value) Date Then _
rngAct.Interior.ColorIndex = xlNone
If Int(rngAct.Value) = Date _
And rngAct.Interior.ColorIndex = 38 Then
intCounter = intCounter + 1
End If
Next rngAct
DatZell = intCounter
End Function
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: rngBereich festlegen: letzte Zeile bis 100 Zeilen
06.02.2006 09:18:54
u_
Hallo,
If Cells(65536, 8).End(xlUp).Row &lt 109 Then
Set rngBereich = Range(Cells(65536, 8).End(xlUp), Cells(9, 8))
Else
Set rngBereich = Range(Cells(65536, 8).End(xlUp), Cells(65536, 8).End(xlUp).Offset(-99, 0))
End If
Gruß
Geist ist geil!
AW: rngBereich festlegen: letzte Zeile bis 100 Zeilen
06.02.2006 09:23:04
Harald
Moin Peter,
für Spalte H:
Dim Lrow as long, LrowB as long
'Lrow = letzte gefüllte Zelle in Spalte H
'LrowB = Lrow - 100
Lrow = sheets("Tabelle1").cells(rows.count, 8).end(xlup).row
if Lrow &gt 108 then
LrowB = Lrow - 100
else
'Abbruch ?
end if
set rngBereich = sheets("Tabelle1").range(cells(LrowB, 8), cells( Lrow, 8))
Gruss Harald
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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