Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1548to1552
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

doppelte Spalten > MsgBox

doppelte Spalten > MsgBox
24.03.2017 13:18:57
Erik
Hallo ihr Wissenden :-)
Habe mal wieder ein kleines Problem mit nem gefundenen VBA Code.
Es sollte so funktionieren, daß Spalte D auf doppelte Einträge überprüft wird.
Ist das der Fall soll Spalte E überprüft werden.
Ist auch dies so, kommt in Spalte G der Wert "Doppelt"
Jetzt habe ich ein Makro, daß eine MsgBox ausgibt, sobald Doppelt in einer Zelle in Spalte G steht.
Diese funktioniert aber nur wenn "Doppelt" manuel eingetragen oder die Formel durch nach unten ziehen kopiert wird.
Kann man das Makro ändern, so das auch Formeln gebprüft werden ?
Benötige ich undbedingt die Hilfzellen in Spalte G oder kann das auch durch ein Makro gelöst werden?
https://www.herber.de/bbs/user/112405.xlsm
Vielen Dank
Gruß
Erik

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelte Spalten > MsgBox
24.03.2017 14:30:03
ChrisL
Hi Erik
Es hätte gereicht die Target.Column gemäss nachstehendem Beispiel anzupassen, da die Veränderung, welche das Formelergebnis ergibt in diesen Spalten stattfindet. Nachstehend ohne Hilfsspalte (ZÄHLENWENNS):
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Or Target.Column = 5 Then
If WorksheetFunction.CountIfs(Columns(4), Cells(Target.Row, 4), _
Columns(5), Cells(Target.Row, 5)) > 1 Then MsgBox "Hinweis " & Target.Row
End If
End Sub
cu
Chris
AW: doppelte Spalten > MsgBox
24.03.2017 15:05:38
Erik
Hallo Chris,
vielen Dank.
Noch eine Frage:
Kann ich als Hinweis noch zusätzlich die andere doppelte Zeile anzeigen lassen ?
Gruß
Erik
Anzeige
AW: doppelte Spalten > MsgBox
24.03.2017 16:59:43
ChrisL
Hi Erik
Mit der Methode ZÄHLENWENNS nicht, es wird nur die Existenz resp. Anzahl Duplikate bestimmt, nicht aber die Position.
Man müsste neu ansetzen z.B. mit Schleife, Find, Filter etc.
Hierzu zwei Fragen:
- Wieviele Datensätze/Zeilen hast du ungefähr?
- Kopierst du auch ganze Bereiche, so dass theoretisch auch mehrere Duplikate entstehen können?
(bin vermutlich erst am Montag wieder aktiv, darum lasse ich die Frage offen)
cu
Chris
AW: doppelte Spalten > MsgBox
25.03.2017 08:59:59
Erik
Hallo Chris
zu Frage 1: die Tabelle hat ungefähr 200-250 Zeilen.
zu Frage 2: nein es wird kein ganzer Bereich kopiert immer nur einzeln.
Aber wenn das ganze zu aufwendig wird, ist das auch kein Problem.
Mit Deiner ersten Hilfe kann ich auch ganz gut leben.
Vielen lieben Dank
Gruß und schönes WE
Erik
Anzeige
AW: doppelte Spalten > MsgBox
27.03.2017 09:33:03
ChrisL
Hi Erik
Bei 250 Zeilen ist die Laufzeit für die Zeilensuche wenig kritisch, darum hier der Schleifen-Ansatz:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle1 As Range, rngZelle2 As Range
Dim rngBereich As Range
If Target.Column = 4 Or Target.Column = 5 Then
If WorksheetFunction.CountIfs(Columns(4), Cells(Target.Row, 4), _
Columns(5), Cells(Target.Row, 5)) > 1 Then
Set rngBereich = Range("D1:D" & Cells(Rows.Count, 4).End(xlUp).Row)
For Each rngZelle1 In rngBereich
If rngZelle1 = Cells(Target.Row, 4) And _
rngZelle1.Offset(0, 1) = Cells(Target.Row, 5) And _
rngZelle1.Row  Target.Row Then
Set rngZelle2 = rngZelle1
Exit For
End If
Next rngZelle1
MsgBox "Duplikat in Zeile " & Target.Row & " und Zeile " & rngZelle2.Row
End If
End If
End Sub

cu
Chris
Anzeige
AW: doppelte Spalten > MsgBox
27.03.2017 11:12:48
Erik
Hallo Chris,
super! klappt prima.
Vielen Dank.
Gruß
Erik

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige