Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

Gültigkeit

Gültigkeit
Toni
Guten Tag,
in der Spalte B möchte ich verhindern,
dass doppelte Werte eingegeben werden.
Option:
benutzerdefiniert
Formel:
=VERGLEICH(B1;$B:$B;0)=ZEILE(B1)
Das funktioniert auch bestens bei der Eingabe.
Warum funktioniert es nicht, wenn ich aus der Zwischenablage Datein einfüge?
..Bearbeiten
....Inhalte Einfügen
.......Werte
Jetzt schon bedanke ich mich für eine Antwort.
An Alle, die immer so Super-Antworten schreiben:
Danke, Danke, Danke
Toni
mal nachgefragt ...
05.08.2010 08:22:18
Matthias
Hallo Toni
Zitat:
Das funktioniert auch bestens bei der Eingabe.
Klappt das bei Dir tatsächlich?
Wenn ich die Werte/Zahlen nicht von oben nach unten eingebe, greift die Formel der Gültigkeit nicht. Jedenfalls bei meinem Test ist das so, oder hab ich was falsch verstanden?
Userbild
getestet mit XL2000 und XL2007. In beiden Versionen tritt diese Situation ein.
Kannst Du das bestätigen?
Gruß Matthias
AW: mal nachgefragt ...
05.08.2010 08:30:42
JogyB
Hallo Matthias,
also ich kann das bei 2003 und 2010 bestätigen. Ist ja auch logisch, wenn man einen Wert darüber eingibt, ist die Prüfung ja ok.
Besser wäre da
=ZÄHLENWENN(B:B;B1)<=1
Das Problem beim Inhalte einfügen löst das aber leider auch nicht.
Gruß, Jogy
Anzeige
Danke für die Rückmeldung und den Test
05.08.2010 08:53:30
Matthias
Hallo Jogi
Sollte ja auch eher ein Hinweis sein, damit sich Toni da nicht verennt.
Ich löse das für mich meistens so: =1/ZÄHLENWENN($B:$B;B1)=1
wobei ZählenWenn() (wie Du schreibst) genauso reicht ;o)
Allerdings eine Lösung auf die Ausgangsfrage hat noch niemand
und mE geht das auch nur bei der direkten Eingabe.
Gruß Matthias
Nur mal aus Interesse...
05.08.2010 09:17:55
JogyB
Hallo Matthias,
wieso nimmst Du den Kehrwert von ZÄHLENWENN($B:$B;B1)?
Gruß, Jogy
ohne Hintergrund, ist also total egal ;o) kwT
05.08.2010 09:21:10
Matthias
AW: mal nachgefragt ...
05.08.2010 08:57:05
Toni
Hallo Matthias,
ich verstehe die Frage nicht.
Wenn ich von Hand von B1 nach unten Zahlen eingeben,
reklamiert Excel sofort.
Wenn ich Zahlen einfügen ( Werte) dann nicht.
Meintest Du das?
Zur Doku lege ich mein Sheet bei.
Gruss
Toni
https://www.herber.de/bbs/user/70903.xls
Anzeige
das war eine Nachfrage ...
05.08.2010 09:12:46
Matthias
Hallo Toni
Es war kein Lösungsvorschlag, sondern eine Nachfrage
Hast Du Dir denn meinen Beitrag nicht richtig angeschaut?
Ich habe doch extra ein Bild mit eingefügt.
Das hat auch nichts mit Zahlen oder Werten zu tun
Ich wollte Dich darauf hinweisen, das wenn Du z.B.
den 1.Eintrag in B5 machst
den 2.Eintrag in B3 ... also nicht von oben nach unten, das die Gültigkeitsregel dann nicht greift.
Also solltest Du ZählenWenn() oder 1/ZählenWenn() benutzen. (siehe auch die anderen Beiträge)
Gruß Matthias
AW: Gültigkeit
05.08.2010 08:23:23
AndreasG
Hallo Toni,
da bleibt mir nur zu sagen: das ist leider so.... und liegt nicht an deiner Gültigkeitsprüfung sondern an der Programmierung von Microsoft
Grüße
Andreas
Anzeige
versuche es mal mit Zählenwenn ...
05.08.2010 08:30:58
Tino
Hallo,
Userbild
Gruß Tino
AW: versuche es mal mit Zählenwenn ...
05.08.2010 09:31:10
Toni
Hallo,
vielleicht stelle ich mich Dumm an, oder ich begreife die Regel bzw. die Reihenfolge der Einträge im Forum nicht, aber auch mit Zählenwenn funktioniert mein Vorhaben nicht.
Verstehe ich es richtig:
es ist ein Programmfehler von Excel, dass auch Zählenwenn ( Gültigkeit) nicht prüft, wenn Einträge in der Spalte B über Einfügen Werte nicht greift.
Toni
AW: versuche es mal mit Zählenwenn ...
05.08.2010 09:34:19
Tino
Hallo,
über einfügen aus der Zwischenablage fällt mir nur VBA ein, sonst kann ich Dir nicht helfen.
Sorry
Gruß Tino
Anzeige
AW: versuche es mal mit Zählenwenn ...
05.08.2010 09:38:09
Toni
Hallo Timo,
jetzt hab ich's begriffen - Es geht also nicht.
Ich bau mir ein Makro ein, dass vor dem Schliessen oder Sichern,
diesen Fehler prüft.
Trotzdem besten Dank an Euch alle
Toni
AW: versuche es mal mit Zählenwenn ...
05.08.2010 12:23:12
mpb
Hallo Toni,
"interaktiv" ginge das mit einer Ereignisprozedur, z.B. so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsEmpty(Intersect(Columns(2), Target)) Then
If WorksheetFunction.CountIf(Columns(2), "=" & Target.Value) > 1 Then
MsgBox "doppelt"
Target.ClearContents
End If
End If
End Sub
Gruß
Martin
dann aber doch vielleicht eher so...
05.08.2010 16:19:22
JogyB
Hallo Toni,
Dein Code hat ein paar Haken:
1. Das IsEmpty funktioniert nicht so wie Du es willst
2. Du löschst alle hineinkopierten Werte, wenn auch nur eine Doublette vorhanden ist
3. Wenn leere Zellen mitkopiert werden, dann wird auch alles gelöscht
Mein Vorschlag an Martin:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeLLe As Range
If Not Intersect(Columns(2), Target) Is Nothing Then
For Each zeLLe In Intersect(Columns(2), Target)
With zeLLe
If WorksheetFunction.CountIf(Columns(2), "=" & .Value) > 1 _
And .Value  "" Then
MsgBox "Doppelter Eintrag in " & zeLLe.Address
Application.EnableEvents = False
.ClearContents
Application.EnableEvents = True
End If
End With
Next
End If
End Sub

Der einzige Knackpunkt ist, dass wenn in den kopierten Werten derselbe mehrfach vorkommt, dann nicht der erste, sondern der letzte erhalten bleibt. Wenn das ein Problem ist, dann kann man das natürlich abfangen, macht den Code dann aber umfangreicher.
Gruß, Jogy
Anzeige
AW: dann aber doch vielleicht eher so...
05.08.2010 17:35:28
mpb
Hallo Jogy,
vielen Dank, dass Du meinen hingeschluderten Code lauffähig gemacht hast (und das meine ich ernst).
Ich habe hier in den letzten 2-3 Jahren nur sehr sporadisch gepostet (davor jahrelang unter Klarnamen sehr intensiv) und bin Excel-mäßig etwas eingerostet. Außerdem ist auf dem Rechner, an dem ich sitze die VBA-Hilfe nicht installiert, so dass ich die Zeile mit Intersect nicht geprüft habe. Ich hatte schon den Verdacht, dass mich meine Erinnerung trügt... ;-)
Letztlich sollte mein Code Toni nur einen Anstoß geben und das ist ja auch gelungen, wenn auch unbeabsichtigt dadurch, dass Du Dich nochmal eingeschaltet hast.
Gruß
Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige