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

Forumthread: Letzte Zeile finden und Bereich davor prüen

Letzte Zeile finden und Bereich davor prüen
09.06.2016 15:03:30
VbKey
Hallo
Ich benötige eure Hilfe.
Ich habe eine Tabelle in der in Zeile B Serie Nummern eingetragen werden. Nach dem Eintrag soll der eingetragene Wert in einem Bereich von 160 Zellen (entspricht einer Sendung) davor auf Duplikate geprüft werden. Falls die Serie Nummer bereits vorhanden ist sollte der Eintrag wieder gelöscht werden und eine Userform geöffnet werden.
Hier meinen aktuelle Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Cells.Rows.Count, 2).End(xlUp).Row
For iRow = iRowL To 1 Step -1
If WorksheetFunction.CountIf(Columns(2), Cells(iRow, 2)) > 1 Then
Rows(iRow).Delete
Unload ScanUserform
DoppelUserForm.Show
End If
Next iRow
End Sub
Hiermit wird leider die komplette Liste auf Duplikate geprüft. Wie muss ich nun den Code abändern, dass jeweils nur die 160 vorgängigen Zellen geprüft werden?
Danke für eure Tipps bereits jetzt.
Gruss

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile finden und Bereich davor prüen
09.06.2016 15:10:57
baschti007
So würde ich sagen
von
iRowL = Cells(Cells.Rows.Count, 2).End(xlUp).Row
zu
iRowL = 160
Gruß Basti

AW: Letzte Zeile finden und Bereich davor prüen
09.06.2016 15:26:52
VbKey
Hallo Basti
Danke für deine schnelle Antwort und Hilfestellung.
Habe den Code ausprobiert. Leider werden somit nur immer die ersten 160 Einträge auf Duplikate geprüft. Es sollte aber immer vom aktuellen Eintrag die vorgängigen 160 Einträge auf Duplikate geprüft werden, nicht immer die ersten 160 Einträge.
Die Liste kann bis zu 50'000 Einträge enthalten.
Danke

Anzeige
AW: Letzte Zeile finden und Bereich davor prüen
09.06.2016 15:23:18
UweD
Hallo
so...
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fehler
If Target.Column = 2 Then
Dim Von As Integer
Von = WorksheetFunction.Max(1, Target.Row - 160) 'Wenn Zeile kleiner 160, dann nur bis  _
zu Zeile 1
If WorksheetFunction.CountIf(Range(Cells(Von, 2), Cells(Target.Row - 1, 2)), Target) >  _
0 Then
MsgBox "Doppelt"
'Unload ScanUserform
'DoppelUserForm.Show
Application.EnableEvents = False
Target.ClearContents
End If
End If
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub

Gruß UweD

Anzeige
AW: Letzte Zeile finden und Bereich davor prüen
09.06.2016 15:43:09
VbKey
Hallo UweD
Danke dir vielmals. Genau sowas habe ich gesucht.
Gruss

AW: gern geschehen owt
09.06.2016 15:52:14
UweD
;

Forumthreads zu verwandten Themen

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