Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1780to1784
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 Einträge mit VBA verhindern

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

Betreff
Datum
Anwender
Anzeige
AW: doppelte Einträge mit VBA verhindern
15.09.2020 16:01:37
Hajo_Zi

If Intersect( Target"BCD")>1 then
End if


AW: doppelte Einträge mit VBA verhindern
15.09.2020 16:05:39
Nepumuk
Hallo Sonnenfreund,
in das Modul der Tabelle (Rechtsklick auf den Tabellenreiter - Code anzeigen):
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim avntValues As Variant
    Dim ialngIdex As Long
    Dim objRang As Range, objCell As Range
    Set objRang = Intersect(Target, Columns(1))
    If Not objRang Is Nothing Then
        Application.EnableEvents = False
        avntValues = Range(Cells(1, 1), Cells(Rows.Count, 1)).Value
        For Each objCell In objRang
            For ialngIdex = LBound(avntValues, 1) To UBound(avntValues, 1)
                If ialngIdex <> objCell.Row Then
                    If InStr(1, objCell.Value, avntValues(ialngIdex, 1), vbTextCompare) > 0 Or _
                        InStr(1, avntValues(ialngIdex, 1), objCell.Value, vbTextCompare) > 0 Then
                        Call MsgBox("Doppelter Wert in Zelle ''" & _
                            objCell.Address(False, False) & "''", vbExclamation, "Hinweis")
                        objCell.Value = Empty
                        Exit For
                    End If
                End If
            Next
        Next
        Application.EnableEvents = True
        Set objRang = Nothing
    End If
End Sub

Überwacht wird die komplette Spalte A!!!
Gruß
Nepumuk
Anzeige
AW: doppelte Einträge mit VBA verhindern
15.09.2020 16:17:35
Nepumuk
Ooooooooooooops,
da ist noch ein Fehler drin.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim avntValues As Variant
    Dim ialngIdex As Long
    Dim objRang As Range, objCell As Range
    Set objRang = Intersect(Target, Columns(1))
    If Not objRang Is Nothing Then
        Application.EnableEvents = False
        avntValues = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Value
        For Each objCell In objRang
            For ialngIdex = LBound(avntValues, 1) To UBound(avntValues, 1)
                If ialngIdex <> objCell.Row Then
                    If InStr(1, objCell.Value, avntValues(ialngIdex, 1), vbTextCompare) > 0 Or _
                        InStr(1, avntValues(ialngIdex, 1), objCell.Value, vbTextCompare) > 0 Then
                        Call MsgBox("Doppelter Wert in Zelle ''" & _
                            objCell.Address(False, False) & "''", vbExclamation, "Hinweis")
                        With objCell
                            .Value = Empty
                            Call .Select
                        End With
                        Exit For
                    End If
                End If
            Next
        Next
        Application.EnableEvents = True
        Set objRang = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: doppelte Einträge mit VBA verhindern
17.09.2020 11:05:28
Sonnenfreund
Hallo Nepumuk,
sorry für die späte Reaktion, arbeit hat leider keine Zeit gelassen.
Hatte das mal in einer leeren Mappe getestet und direkt beim ersten Eintrag kam schon die Msgbox.
Um das mal besser darstellen zu können, was ich benötige, anbei die Tabelle.
https://www.herber.de/bbs/user/140281.xlsm
Pro Tag muss ein Mitarbeiter unter den Mitarbeitern 1-8 einen 16 Uhr Dienst (16) machen und auch unter den Mitarbeitern 9-16 muss einer einen 16 Uhr Dienst machen.
Zusätzlich muss einer von den Mitarbeitern 1-16 einen 18 Uhr Dienst (18) machen.
Möglich ist auch, dass der 16 Uhr Mitarbeiter gleichzeitig der 18 Uhr Mitarbeiter ist (16/18).
In den Zeilen 5 und 6 sind die regulären Eingaben.
Bei weiteren Eingaben der Dienste 16, 18 und 16/18 pro Zeile soll die Msgbox erscheinen.
Ungeachtet dessen geben die Mitarbeiter auch noch U und AZ ein, diese beiden Eingaben sollen unbeachtet bleiben.
Vielen Dank für die Unterstützung.
Anzeige
AW: doppelte Einträge mit VBA verhindern
18.09.2020 09:47:49
Herbert_Grom
Hallo,
ist dein Problem noch aktuell?
Servus
AW: doppelte Einträge mit VBA verhindern
18.09.2020 09:47:52
Herbert_Grom
Hallo,
ist dein Problem noch aktuell?
Servus
AW: doppelte Einträge mit VBA verhindern
18.09.2020 09:56:14
Sonnenfreund
Moin,
ja, ich bin noch am rumwerkeln, aber wirklich funktionieren tut es leider nicht.
Grüße
AW: doppelte Einträge mit VBA verhindern
18.09.2020 10:27:20
Herbert_Grom
Hallo,
ich bin auch am „rumwerkeln“ und bin auf einem guten Weg! Ich melde mich heute Nachmittag!
Servus
AW: doppelte Einträge mit VBA verhindern
18.09.2020 14:45:46
Sonnenfreund
Hallo,
da hab ich ein, zu großen Teilen, schon gut funktionierendes Makro.
Vielen Dank!
Werde noch ein paar Regeln für den DAU anlegen und dann hab ich es ;)
Anzeige
AW: doppelte Einträge mit VBA verhindern
18.09.2020 15:37:51
Herbert_Grom
Hallo,
gerne geschehen. Danke für die Rückmeldung.
Servus

147 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige