Keine doppelten Strings in einer Spalte

Dieses Thema Keine doppelten Strings in einer Spalte im Forum "Windows XP Forum" wurde erstellt von Ginkgo, 6. Mai 2005.

Thema: Keine doppelten Strings in einer Spalte Hallihallo :) Ich habe eine Spalte in meiner Exceltabelle in der ich keine doppelten Werte haben möchte. Da diese...

  1. Hallihallo :)

    Ich habe eine Spalte in meiner Exceltabelle in der ich keine doppelten Werte haben möchte. Da diese strings aber von Hand eingegeben werden ist die Gefahr doch vorhanden das man sich mal vertippt oder mal einen vorhandenen Wert übersieht. Die Nomenklatur ist nämlich, Abteilung-Jahr,Monat,Tag,Nummer - also für den 3.April wäre die Bezeichnung für die erste Spalte des Tages z.B. SD-05040301.
    ich habe schon versucht mit Validation die Zeilen zu checken aber da brauche ich sicher eine Formel.
    Bin im Moment etwas ratlos und gehe ins Wochenende :D

    Ginkgo
     
  2. Hallo Ginkgo,

    folgender Makro in der Code-Seite der betreffenden Tabelle sollte das verhindern.

    Gruß Matjes  :)

    Code:
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
      Const c_SpA = 1
      Dim Zelle As Range, l_zeile As Long, ws As Worksheet, s_tmp As String
      Dim r As Range, l_ZeileMax As Long, ersteAdresse As String
      
      Set ws = Target.Worksheet
      
      For Each Zelle In Target
        If Zelle.Column = c_SpA Then
         ->es ist in Spalte A etwas geändert
          s_tmp = Zelle.Value
         ->nur vollständige Eingaben prüfen
          If Len(SD-05040301) = Len(s_tmp) Then
           ->Adresse merken
            ersteAdresse = Zelle.Address
           ->Eingabe in Spalte A suchen
            Set ws = Target.Worksheet
            l_ZeileMax = ws.Cells(ws.Rows.Count, c_SpA).End(xlUp).Row
            Set r = ws.Range(ws.Cells(1, c_SpA), ws.Cells(l_ZeileMax, c_SpA))
           ->nach der geänderten Zelle Suche beginnen
            Set Zelle = r.Find(After:=Zelle, What:=s_tmp, LookIn:=xlValues, Lookat:=xlWhole)
           ->Wenn Adresse ungleich der geänderten Zelle
           ->-> doppelter Eintrag -> Meldung
            If Not ersteAdresse = Zelle.Address Then
              MsgBox (Gleiche Werte ! & vbLf & _
                Eingabe:  & Zelle.Value &  an Adresse:  & ersteAdresse & vbLf & _
                2.Fundort:  & Zelle.Address)
                ws.Range(ersteAdresse).Select
            End If
          End If
        End If
      Next
    End Sub
     
Die Seite wird geladen...

Keine doppelten Strings in einer Spalte - Ähnliche Themen

Forum Datum
VB : Zufall Zahlen (keine Doppelten) Webentwicklung, Hosting & Programmierung 13. Nov. 2002
Keine Taskleiste, eingeschränkter Zugriff Windows Vista Forum 24. Sep. 2016
keine Windows update möglich Windows 8 Forum 23. Aug. 2016
Nach Update "keine Anmeldung beim Konto möglich" Windows 10 Forum 11. Aug. 2016
Keine Google Abstrafung bekommen Software: Empfehlungen, Gesuche & Problemlösungen 8. Aug. 2016