Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Datensaetze in Spalten finden

Doppelte Datensaetze in Spalten finden
11.08.2003 21:12:20
schrammos
Hallo,
ich moechte gerne ein Makro, welches nach jeder Eingabe eines Wertes in irgendeiner Zelle in Spalte B ueberprueft ob dieser Wert schon einmal in einer anderen Zelle in Spalte B eingetragen wurde. Ich habe nun schon ein Makro, welches nach jeder Zellveraenderung startet, aber ich weiss erstens nicht wie ich mit VB sagen soll, dass das Makro nur anspricht wenn irgendeine Zelle in Spalte B veraendert wird, und ausserdem weiss ich auch nicht, welches der einfachste Weg ist um nach doppelten Datensaetzen (Werten) in einer Spalte zu suchen.
Bin fuer jede Hilfe dankbar.
...
Chris

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Datensaetze in Spalten finden
11.08.2003 21:15:44
Hajo_Zi
Hallo Chris
das geht auch ohne Makro
kann man auch die Doppeleingabe selber verhindern:
z.B. unter Daten, Gültigkeit, benutzerdefiniert
Formel
=ZÄHLENWENN(A:A;A1)=1
nach unten kopieren.
Von Ulrich Schneider
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Doppelte Datensaetze in Spalten finden
11.08.2003 21:28:51
PeterW
Hallo Chris,
dein vorhandenes Makro startet durch eine Änderung der Tabelle (Worksheet_Change)? Um es nur ablaufen zu lassen bei Veränderungen in Spalte B füge ein
If Target.Column <> 2 Then Exit Sub
Ansonsten siehe den Tipp von Hajo.
Gruß
Peter

AW: Doppelte Datensaetze in Spalten finden
12.08.2003 09:22:53
schrammos
Hallo,
ich haette es doch gerne mit einem Makro, weil ich gerne bei auffinden eines doppelten Datensatzes ein PopUp haette. Und zwar soll da drin stehen, "Dieser Eintrag existiert schon in den Zeilen 1, 2, 5 und 9" . Ich habe zwar schon mehrere Programmiersprachen programmiert, aber ich kenne die VB Syntax leider nicht und die speziellen Excel-Befehle leider auch nicht so gut. Ausserdem wuerde mich interessieren, welche Routinen man im Codesegment des Tabellenblattes unterbringt und welche in den Modulen. Mein Code sieht jetzt so aus:
Im Codesegment von Tabelle1:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
popup
End If
End Sub

Im Modulsegment Modul 1:
Public Sub popup()
MsgBox "A1 hat den Wert 1"
End Sub

Also noch nicht so berauschend. Ich muesste wissen:
a) Im Codesegment in Zeile 2, wie mache ich eine ODER-Verknuepfung, so dass ich sagen kann, Makro springt an wenn sich ein Wert aendert in Spalte 2 oder in Spalte 4.
b) Welche Befehle benoetige ich um die aktuelle Spalte, in der ich mich befinde zu markieren, bzw. nach doppelten Datenssaetzen zu durchsuchen.
c) Welche Befehle benoetige ich um die Zeilen zu merken in denen diese Doppelten Datensaetze sind und diese in einer MsgBox auszugeben.
Gruss,
Chris

Anzeige
AW: Doppelte Datensaetze in Spalten finden
12.08.2003 10:20:53
PeterW
Hallo Chris,
schau dir im VBA Editor im Modul einer Tabelle mal das Dropdown oben rechts an. Hier sind alle Ereignisse gelistet, mit denen du in der Tabelle Code starten kannst. Diese Ereignismakros starten NUR aus dem Modul der Tabelle.
Zu den anderen Fragen:
a)
If Target.Column = 2 Or Target.Column = 4 Then
b)
Die Spalte in der sich der Cursor befindet sprichst du an mit ActiveCell.Column
Folgender Code zählt in der aktuellen Spalte, wie oft der Wert der aktiven Zelle vorhanden ist:

Sub zaehlen()
MsgBox WorksheetFunction.CountIf(Columns(ActiveCell.Column), ActiveCell.Value)
End Sub

c)
Dazu gibt es reichlich Material in der Excel-Recherche. Such dort mal nach FIND.
Gruß
Peter

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige