Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

verschied. Spalten mit VBA auf doppelt. Werte überprüfen

Forumthread: verschied. Spalten mit VBA auf doppelt. Werte überprüfen

verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:02:28
elitebahnwaerter
Hallo Zusammen, ich komme leider mit meiner Datei nicht weiter und bräuchte aus diesem Grund eure Hilfe.

Ich bin gerade dabei für meine Abteilung einen Urlaubsplan für das Jahr 2024 zu erstellen.

Nun bräuchte ich ein VBA, welches verhindert, dass es in den Spalten (A5:A17, B5:B17, C5:C17, D5;D17, E5:E17, F5:F17 und G5:G17) bestimmte doppelte Werte gibt. So dürfen folgende Werte in den zuvor beschriebenen Spalten nur einmal vergeben sein: Urlaub 1, Urlaub 2, Stundenausgleich 1, Stundenausgleich 2, Stundenausgleich 4. Sollte der Wert doch doppelt vergeben worden sein, soll eine Fehlermeldung erstellt und der zuletzt eingetragene Wert gelöscht werden.

Die Spalten sollen getrennt voneinander überprüft werden.

Ich würde mich über eure Vorschläge sehr freuen :)

Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:13:18
ralf_b
vielleicht liege ich ja falsch ,aber eine datenüberprüfung mit zählenwenns würde das doch erledigen ,oder nicht?
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:15:31
daniel
Hi
gibt es auch andere Werte, die dann doppelt vorkommen dürfen?

wenn nur diese Werte vorkommen dürfen, würde ich unterhalb der Spalten jeden Wert einmal auflisten, allerdings als Formel nach diesem prinzip:

=Wenn(ZählenWenn(A5:A17;"Urlaub 1")=0;"Urlaub 1";"")
=Wenn(ZählenWenn(A5:A17;"Urlaub 2")=0;"Urlaub 2";"")
usw

dann machst du ne Datenüberprüfung Typ Liste für den Bereich A5:A17 und verweist auf diese Zellen.
Sobald dann ein Wert einmal oben eingetragen wurde, verschwindet er unten aus der Liste und kann somit nicht mehr verwendet werden.

Gruß Daniel
Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:30:52
elitebahnwaerter
Hallo ihr Beiden, vielen Dank für eure Antworten. Die Option mit der Datenprüfung ist leider nicht möglich. Da ich diese bereits in den Zellen für eine Dropdownliste benutze.
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:34:08
daniel
aber diese DropDownliste muss dann noch die Werte Urlaub 1, Urlaub 2 usw enthalten, oder????????
dann nimm doch einfach in der Vorlage für die DropDownListe die Werte raus, wenn sie schon drin sind.
du brauchst dann zwar für jede Spalte ne eigene DropDownVorlagenliste, ist aber immer noch einfacher als was programmieren.
(klar noch einfacher ist, einen zu finden der es einem Programmiert, aber geh mal davon aus, dass du das selber programmieren musst.)
Gruß Daniel
Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:43:33
elitebahnwaerter
Das funktioniert leider nicht. Weil jeder Wert variable von den Mitarbeitern eingetragen werden kann.
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:48:48
elitebahnwaerter
Dim Bereich As Range
Set Bereich = Range("B5:B17")
If Target.Value = "" Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Bereich, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Bereich, Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag nicht möglich"), vbCritical, "Doppelter Wert"
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End If

Das ist der Corde den ich selbst geschrieben habe. Hierbei werden alle Werte überprüft. Sollte es zu aufwendig sein, würde es mir auch reichen wenn ich diesen Code in den beschriebenen Spalten verwenden kann. Ich habe aber keinen Plan wie ich im Rahmen diesen Codes weitere Spalten prüfen kann.

Die Idee den Code zu kopieren und nur die Zellen zu ändern hatte ich schon. Funktioniert aber leider nicht.
Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 20:03:17
daniel
Hi

das ganze für mehrere Spalten gültig machen?
einfach so:
i
f not Intersect(Target, Range("A5:G17")) is nothing then ' hier prüfen, ob die Eingabe überhaupt innerhalb des relevanten Eingabebereichs stattfindet

Set Bereich = Intersect(Target.EntireColumn, Range("5:17"))


Gruß Daniel
Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
elitebahnwaerter
kann mir jemand erklären, wie ich das in meinen bereits vorhandenen Code einarbeiten kann
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 19:59:15
daniel
der Mitarbeiter gibt die Inhalte für die DropDownListe vor?
kann ich mir nicht vorstellen.

also fangen wir noch mal an:
was kann und darf ein Mitarbeiter in den Zellen A5:A17 eingeben?
wie hast du das reglementiert? du sagst du hast dort schon eine Datenüberprüfung.
Was für eine hast du (Liste, Benutzerdefiniert) und wie ist sie definert?

ich hatte mir das in etwa so vorgestellt.
wie du siehst, kann in jeder Spalte jeder Wert nur einmal ausgewählt werden.
dann verschwindet er aus dem DropDown.
https://www.herber.de/bbs/user/164313.xlsx

Gruß Daniel
Anzeige
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
15.11.2023 20:51:51
Elitebahbwaerter
Die Dropdownliste hab ich mit Datenüberprüfung (Liste) erstellt.

Die Mitarbeiter können anhand der Dropdownliste Werte eintragen.

Eine Doppelwertvergabe soll verhindert werden.
AW: verschied. Spalten mit VBA auf doppelt. Werte überprüfen
daniel
Genau das macht doch meine Datei.
Gast du die mal angeschaut?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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