Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

bei Dateneingabe - Hinweis schon vorhanden
#11
Hallo Joachim

es freut mich sehr das mein Code zufriedenstellend laeuft.  Das Jahr faengt gut an .....
Hier noch mal die Aenderung für Strasse, einfach ins Modul1 kopieren. Das ist alles.

Ich habe noch die Löschen Anweisung mit "Ja" (Nein) eingefügt. Da kann man selbst festlegen ob die Fehleingabe gelöscht werden soll oder nicht.

mfg  Gast 123


Code:
Public FamName As String
Public Vorname As String
Public GebDatum As Date
Public TSpalte As Long
Public TZeile As Long

Const Löschen = "Ja"   'Ja/Nein Option


'Modul zum Prüfen von vorhandenen Namen

Sub Prüfung()
Dim rFind As Range, Zeile As Long
Dim gFind As Range, Adr1 As String
Dim Strasse As String

   On Error GoTo Fehler
   'Vorname und Fam.Name suchen
   Set rFind = Columns("C").Find(What:=FamName, after:=Range("C1"), LookIn:= _
       xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=True)
   If Not rFind Is Nothing Then Adr1 = rFind.Address: Zeile = rFind.Row
 
   'Vorname und Fam.Name beide vorhanden ??  Ende!!
   If TSpalte = 4 And TZeile > Zeile Then
      Strasse = Cells(TZeile, 5)
      Do
         If Cells(rFind.Row, "C") = FamName And _
            Cells(rFind.Row, "D") = Vorname And _
            Cells(rFind.Row, "E") = Strasse Then
            MsgBox "Dieser Familien Name und Vorname existiert bereits in Zeile:  " & rFind.Row
            'Datensatz nur bei "Ja" löschen
            If Löschen = "Ja" Then
               Cells(TZeile, 2).Resize(1, 6) = Empty  '6 Spalten löschen
               Cells(TZeile, 2).Activate: Exit Sub
            End If
         End If
         Set rFind = Columns("C").FindNext(after:=rFind)
      Loop Until Adr1 = rFind.Address
   End If
   
   'Ged.Datum suchen, wenn vorhanden!!
   If TSpalte = 7 And TZeile > Zeile Then
      GebDatum = Cells(TZeile, 7)
      Set gFind = Columns("G").Find(What:=GebDatum, after:=Range("G1"), LookIn:= _
          xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=True)
      If Not gFind Is Nothing Then Adr1 = gFind.Address: Zeile = gFind.Row
   End If
   
   If TSpalte = 7 And Not gFind Is Nothing Then
      'Geb.Datum, Vorname und Fam.Name alle vorhanden ??  Ende!!
      Do
         If Cells(gFind.Row, "C") = FamName And _
            Cells(gFind.Row, "D") = Vorname Then
            MsgBox "Dieser Datensatz existiert bereits in Zeile:  " & rFind.Row
            'Datensatz nur bei "Ja" löschen
            If Löschen = "Ja" Then
               Cells(TZeile, 2).Resize(1, 6) = Empty  '6 Spalten löschen
               Cells(TZeile, 2).Activate: Exit Sub
            End If
         End If
         Set gFind = Columns("G").FindNext(after:=gFind)
      Loop Until Adr1 = gFind.Address
   End If
Fehler:
End Sub
Antworten Top
#12
Hallo Gast 123,

nochmals: Vielen Dank! Das klappt super!
Ich freue mich, dass Du mir so geholfen hast.
Da kann ich mein Rentnerdasein richtig
genießen.

Herzlichen Gruß
Joachim
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste