Keine doppelten Strings in einer Spalte

  • #1
G

Ginkgo

Bekanntes Mitglied
Themenersteller
Dabei seit
27.01.2005
Beiträge
66
Reaktionspunkte
0
Ort
Hannover
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
 
Thema:

Keine doppelten Strings in einer Spalte

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben