Herbers Excel-Forum - das Archiv

Abfrage auf doppelten Eintrag

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
Excel-Beispiele zum Thema "Abfrage auf doppelten Eintrag"
Unterdrückung von Sicherheitsabfragen Arbeitsmappe-Schließen-Abfrage abfangen
Name der aufrufenden Schaltfläche abfragen Abfrage der markierten Spalten
Anzahl der einzufügenden Zeilen abfragen Programmabbruch bei Überspeichernabfrage verhindern
Abfrage, ob ein Menü in einer Menüleiste vorhanden ist Web-Abfrage ohne *.iqy-Datei
Web-Aktienkursabfrage bei YAHOO Start- und Enddatum abfragen und markieren