Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

doppelte Einträge verhindern zum 2.

doppelte Einträge verhindern zum 2.
18.12.2003 09:00:33
Ralf
Hallo Forum!

Ich möchte in einer Liste verhindern, dass doppelte Einträge eingegeben werden.
Zelle A1 muß ungleich den Zellen A2 bis A8 sein, Zelle A2 muß ungleich A1 und A3 bis A8 sein, Zelle A3 muß ungleich A1 + A2 sowie A4 bis A8 sein, usw..
Von Robert habe ich folgenden Tipp erhalten:
z.B, unter Daten, Gültigkeit, benutzerdefiniert
Formel
=ZÄHLENWENN(A:A;A1)=1
nach unten kopieren.

Das funktioniert so. Allerdings werden die Zahlen über Drop-down Felder in die Zellen gefüllt. Und dann funktioniert es nicht. Es soll nicht möglich sein, gleiche Namen in dem Bereich anzuwählen. Für die Namen (Auswahl über Drop-down) werden in den Feldern A1:A8 Zahlen hinterlegt.

Weiß jemand eine Lösung?

Gruß

Ralf

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelte Einträge verhindern zum 2.
18.12.2003 09:26:08
WernerB.
Hallo Ralf,

dieses Makro gehört in das Modul des betreffenden Tabellenblattes:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim c As Range
If Intersect(Range("A1:A8"), Target) Is Nothing Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
For Each c In Range("A1:A8")
If c.Value = Target.Value And c.Row <> Target.Row Then
Target.Select
MsgBox "Diesen Eintrag gibt es schon !", vbOKOnly + vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
End If
Next c
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
AW: doppelte Einträge verhindern zum 2.
18.12.2003 09:39:12
Ralf
Hallo werner,

vielen Dank für Deine Hilfe.
Wie bekomme ich dieses Makro in das entsprechende Modul des Tabellenblatts???
Ich kenne mich damit immer noch nicht aus.
Ich habe 21 Tabellenblätter in der Arbeitsmappe.

Gruß

Ralf
AW: doppelte Einträge verhindern zum 2.
18.12.2003 10:03:47
WernerB.
Hallo Ralf!

1. Mache einen Rechtsklick auf die entsprechende Tabellenblattbezeichnung (Lasche)
2. "Code anzeigen" anklicken
3. Das Makro in die große weiße Fläche auf der rechten Seite kopieren; evtl. bereits vorher vorhandenen Text zuvor aus der großen weißen Fläche löschen.
4. Zurück zum normalen Excel: Alt + Q
5. Fertig

Falls das Makro nicht nur in einem, sondern in allen Tabellenblättern funktionieren soll, so melde Dich noch mal; die Vorgehensweise ist dann etwas anders.

Gruß WernerB.
Anzeige
AW: doppelte Einträge verhindern zum 2.
18.12.2003 10:13:03
Ralf
Danke Werner.

Ja, es soll in 18 von 21 Blättern vorhanden sein.Und zwar pro Tabellenblatt für 5 Bereiche (immer dieselben Bereiche im (Tabellenblatt).
Es wäre also schön, wenn Du mir da nochmals helfen kannst.

Gruß

Ralf
AW: doppelte Einträge verhindern zum 2.
18.12.2003 10:31:49
WernerB.
Hallo Ralf,

ich will es versuchen (ohne Erfolgsgarantie). Dazu brauche ich aber noch mehr Input von Dir.

Hast Du das Makro in einem Blatt schon getestet? Entspricht es auch Deinen Wünschen?
Wie lauten die Adressen der fünf Zellbereiche (z.B.: "A1:A8")?
Wie lauten die Bezeichnungen der drei Blätter, in denen das Makro nicht funktionieren soll?

MfG WernerB.
Anzeige
AW: doppelte Einträge verhindern zum 2.
18.12.2003 21:26:48
Ralf
Also die Tabellenblätter wo der Code funktionieren soll heißen GP 1 bis GP 18.
Es handelt sich um eine Formel 1 Tippspiel (Saison 2004). Die Zellbereiche lauten
B5:B12
H5:H12
B16:B23
H16:H23
B27:B34

Es sind halt immer die 8 Fahrer die getippt werden sollen.
Die Bereiche sind für GP 1 bis GP 18 immer gleich.

Gruß

Ralf
AW: doppelte Einträge verhindern zum 2.
19.12.2003 08:26:36
WernerB.
Hallo Ralf,

das nachstehende Makro wirkt bei allen Tabellenblättern, deren Bezeichnung mit "GP" beginnt.
Das Makro gehört in das Modul von "DieseArbeitsmappe".
Zu diesem Modul gelangst Du wie folgt:

- öffne den VB-Editor mit Alt + F11
- auf der linken Seite sollte der Projekt-Explorer sichtbar sein
- unterhalb des Eintrags "VBAProject (Deine Datei.xls)" steht "Microsoft Excel Objekte" und wiederum darunter "DieseArbeitsmappe".
- durch einen Doppelklick auf "DieseArbeitsmappe" wird das Modul von "DieseArbeitsmappe" geöffnet (große weiße Fläche auf der rechten Seite).
- eventuell darauf bereits vorhandenen Text löschen und dann das Makro hineinkopieren.
- zurück zum "normalen" Excel geht es mit Alt + Q.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Dim c As Range
Dim ZBe As String
If Left(ActiveSheet.Name, 2) <> "GP" Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Intersect(Range("B5:B12"), Target) Is Nothing And _
Intersect(Range("H5:H12"), Target) Is Nothing And _
Intersect(Range("B16:B23"), Target) Is Nothing And _
Intersect(Range("H16:H23"), Target) Is Nothing And _
Intersect(Range("B27:B34"), Target) Is Nothing Then Exit Sub
If Not Intersect(Range("B5:B12"), Target) Is Nothing Then ZBe = "B5:B12"
If Not Intersect(Range("H5:H12"), Target) Is Nothing Then ZBe = "H5:H12"
If Not Intersect(Range("B16:B23"), Target) Is Nothing Then ZBe = "B16:B23"
If Not Intersect(Range("H16:H23"), Target) Is Nothing Then ZBe = "H16:H23"
If Not Intersect(Range("B27:B34"), Target) Is Nothing Then ZBe = "B27:B34"
For Each c In Range(ZBe)
If c.Value = Target.Value And c.Row <> Target.Row Then
Target.Select
MsgBox "Den Eintrag '" & Target.Value & "' gibt es schon !", _
vbOKOnly + vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
Application.EnableEvents = False
ActiveCell.ClearContents
Application.EnableEvents = True
Exit For
End If
Next c
End Sub

Gruß WernerB.
Anzeige
AW: doppelte Einträge verhindern zum 2.
19.12.2003 09:22:28
Ralf
Hallo Werner!

Hast Du Dir Arbeit gemacht. Ist ja der Hammer!!!
Ich habe es genau nach Deinen Anleitungen reinkopiert.
Nur leider funzt es ned.
Ich kann immer noch in einem Bereich mehrmals einen Fahrer anwählen.

Gruß

Ralf
AW: doppelte Einträge verhindern zum 2.
19.12.2003 09:47:24
WernerB.
Hallo Ralf,

das Makro habe ich bei mir ohne Probleme getestet, bevor ich es gepostet habe.
Warum es bei Dir nicht funktioniert, kann ich aus der Ferne nicht nachvollziehen.
Falls Du die Datei gespeichert und geschlossen hast, musst Du beim Öffnen natürlich auch Makros zulassen - sonst kann es nicht klappen.
Du kannst Deine Datei auch gerne hier hochladen, dann schaue ich mir das Teil mal an.

Gruß WernerB.
Anzeige
AW: doppelte Einträge verhindern zum 2.
19.12.2003 10:09:10
Ralf
Hallo Werner,

Makros sind natürlich zugelassen.
https://www.herber.de/bbs/user/2541.xls
Hier habe ich die Datei mal hochgeladen.

Gruß

Ralf
AW: doppelte Einträge verhindern zum 2.
19.12.2003 11:23:42
WernerB.
Hallo Ralf,

bedaure, aber das VBA-Project lässt sich bei mir im VB-Editor nicht öffnen.
Kannst Du die Datei nochmal hochladen (im Excel97-Format, ggf. Schreib-/Leseschutz aufheben)?

Gruß WernerB.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige