Abfrage auf doppelten Eintrag

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Abfrage auf doppelten Eintrag
von: Rolf K.
Geschrieben am: 19.02.2005 20:59:41
Hallo
Ich kopiere mit diesem Makro Namen aus einer Stamm-Datei in eine Aktuell-Datei.
Klappt gut
Jetzt soll ich bei der Ausführung dieses Makro überprüfen, ob der Name im neuen Tabellenblatt ("Mitglieder Aktuell")c5:c145 bereits vorhanden ist, bevor er kopiert wird.


Sub Stammdaten_kopieren()
    Selection.Copy
    
    With Sheets("Mitglieder Aktuell")
        Dim Loletzte As Long
        If Range("C145") = "" Then
            Loletzte = .Range("C145").End(xlUp).Row
            Selection.Copy Destination:=.Cells(Loletzte + 1, 3)
        Else
            MsgBox "keine Zelle mehr frei"
        End If
    End With   
    
    Sheets("Mitglieder Aktuell").Select
End Sub

Gruss Rolf
Bild

Betrifft: AW: Abfrage auf doppelten Eintrag
von: Tim
Geschrieben am: 19.02.2005 22:17:06
Versende statt Selection eine Variable:
Dim Suchbegriff
Suchbegriff = Selection
Dann fragst du in einer For Each Schleife die paar Zellen nach Suchbegriff ab.
Tim
Bild

Betrifft: AW: Abfrage auf doppelten Eintrag
von: Josef Ehrensberger
Geschrieben am: 19.02.2005 22:31:52
Hallo Rolf!
Was soll passieren, wenn der Name schon vorhanden ist?
Ist "Selection" nur eine Zelle, oder ein Bereich?

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: RE:AW: Abfrage auf doppelten Eintrag
von: Rolf K,
Geschrieben am: 20.02.2005 00:07:12
Hallo Sepp
zu1. Es soll eine Warnung erscheinen (MsgBox)
zu 2. Selection ist der angeklickte Name der Stammdatei.
Gruss Rolf
Bild

Betrifft: RE:AW: Abfrage auf doppelten Eintrag
von: Josef Ehrensberger
Geschrieben am: 20.02.2005 00:16:20
Hallo Rolf!
Das geht z.B. so.

Sub Stammdaten_kopieren()
Dim Loletzte As Long
Dim rng As Range
    With Sheets("Mitglieder Aktuell")
    
    Set rng = .Range("C1:C145").Find(What:=Selection, _
                     LookIn:=xlValues, LookAt:=xlWhole)
                     
      If Not rng Is Nothing Then
      
         MsgBox "Eintrag schon vorhanden!", vbExclamation
         Exit Sub
         
      Else
      
        If .Range("C145") = "" Then
            Loletzte = .Range("C145").End(xlUp).Row
            Selection.Copy Destination:=.Cells(Loletzte + 1, 3)
        Else
            MsgBox "keine Zelle mehr frei"
        End If
        
      End If
      
    End With
    
    Sheets("Mitglieder Aktuell").Select
    
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: RE:AW: Rückmeldung
von: Rolf K.
Geschrieben am: 20.02.2005 10:55:38
Hallo Sepp
Hat prima geklappt.
Fast ohne Änderungen.
Sehr gut!
Gruss Rolf K.
Bild

Betrifft: Makro Erweiterung
von: Rolf K.
Geschrieben am: 20.02.2005 12:57:50
Hallo Sepp
Weil es so schön geklappt hat... Hier ist noch etwas:

In diesem Makro (Auszug) habe ich ein Problem:
Hinweis: Die Adressen stehen in einer Zeile von 2 bis 8.
Ich markiere mehrere Adressen, die im alten Tabellenblatt gelöscht und in neuen eingefügt werden sollen.
Er löscht zwar alle markierten Adressen,
kopiert aber nur die erste Adresse wieder ein.
Er soll aber alle Adressen wieder einfügen.

Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).Copy Destination:=.Cells(Loletzte + 1, 2)
Selection.ClearContents
Range(Cells(ActiveCell.Row, 2), Cells(ActiveCell.Row, 8)).ClearContents
Gruss Rolf K.
Bild

Betrifft: AW: Makro Erweiterung
von: Josef Ehrensberger
Geschrieben am: 20.02.2005 21:43:36
Hallo Rolf!
Das getht einfach so.

Selection.Copy Destination:=.Cells(Loletzte + 1, 2)
Selection.ClearContents


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Abfrage auf doppelten Eintrag"