Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Abfrage auf doppelten Eintrag

Abfrage auf doppelten Eintrag
19.02.2005 20:59:41
Rolf
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage auf doppelten Eintrag
Tim
Versende statt Selection eine Variable:
Dim Suchbegriff
Suchbegriff = Selection
Dann fragst du in einer For Each Schleife die paar Zellen nach Suchbegriff ab.
Tim
AW: Abfrage auf doppelten Eintrag
19.02.2005 22:31:52
Josef
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!
RE:AW: Abfrage auf doppelten Eintrag
Rolf
Hallo Sepp
zu1. Es soll eine Warnung erscheinen (MsgBox)
zu 2. Selection ist der angeklickte Name der Stammdatei.
Gruss Rolf
RE:AW: Abfrage auf doppelten Eintrag
20.02.2005 00:16:20
Josef
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!
Anzeige
RE:AW: Rückmeldung
20.02.2005 10:55:38
Rolf
Hallo Sepp
Hat prima geklappt.
Fast ohne Änderungen.
Sehr gut!
Gruss Rolf K.
Makro Erweiterung
20.02.2005 12:57:50
Rolf
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.
Anzeige
AW: Makro Erweiterung
20.02.2005 21:43:36
Josef
Hallo Rolf!
Das getht einfach so.

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige