Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
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
Inhaltsverzeichnis

Kopiere, wenn Wert in anderer Liste nicht vorhande

Kopiere, wenn Wert in anderer Liste nicht vorhande
23.01.2018 16:46:22
Malte
Moin zusammen!
Folgendes Problem:
Ich habe 3 Tabellenblätter. Auf Blatt 1 soll eine Liste erstellt werden. Das soll wie folgt ablaufen:
Kopiere Spalte A, B, C von Blatt 2 auf Blatt 1, allerdings nur solche Zeilen, dessen Wert in Spalte A (Blatt 2) nicht in Spalte A (Blatt 3) vorkommt.
Für Hilfe bin ich dankbar! Bekomme es mit VBA nicht gelöst. :/
Viele Grüße,
Malte

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopiere, wenn Wert in anderer Liste nicht vorhande
23.01.2018 17:18:15
Werner
Hallo Malte,
einfach alles kopieren und anschließend über RemoveDuplicates die Duplikate entfernen.
Ich bin davon ausgegangen, dass in beiden Tabellen in Zeile 1 Überschriften vorhanden sind und der eigentliche Datenbereich in Zeile 2 beginnt.
Option Explicit
Public Sub kopieren_ohne_Doppler()
Dim loLetzteZiel As Long, loLetzteQuelle As Long
Dim wsZiel As Worksheet, wsQuelle As Worksheet
Set wsZiel = ThisWorkbook.Worksheets("Tabelle1")
Set wsQuelle = ThisWorkbook.Worksheets("Tabelle2")
loLetzteZiel = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
loLetzteQuelle = wsQuelle.Cells(wsQuelle.Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
With wsQuelle
.Range(.Cells(2, 1), .Cells(loLetzteQuelle, 3)).Copy _
wsZiel.Cells(loLetzteZiel, 1)
End With
loLetzteZiel = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Row
wsZiel.Range("$A$1:$C$" & loLetzteZiel).RemoveDuplicates Columns:=1, Header:=xlYes
Set wsZiel = Nothing: Set wsQuelle = Nothing
Application.ScreenUpdating = True
End Sub
Gruß Werner
Anzeige
AW: Kopiere, wenn Wert in anderer Liste nicht vorhande
25.01.2018 10:47:01
Malte
Funktioniert! Vielen Dank! :)
Gerne u.Danke für die Rückmeldung. o.w.T.
25.01.2018 10:51:44
Werner
auch für ältere Versionen
23.01.2018 17:58:18
KlausF
Hallo Malte,
RemoveDuplicates geht bei mir nicht (altes Excel), deswegen noch eine
Version für ältere Excels:
Sub ZeilenKopieren()
Dim i As Long
Dim x As Long
Dim p As Long
Dim lastRow As Long
Dim varSearch As Variant
Dim wksQuelle As Worksheet
Dim wksVergleich As Worksheet
Dim wksZiel As Worksheet
'________________________________________ anpassen
Set wksQuelle = Worksheets("Tabelle2")
Set wksVergleich = Worksheets("Tabelle3")
Set wksZiel = Worksheets("Tabelle1")
'________________________________________
Dim rng As Range
Dim rngVergleich As Range
Set rngVergleich = wksVergleich.Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
lastRow = wksQuelle.Cells(Rows.Count, "A").End(xlUp).Row
x = 1
Application.ScreenUpdating = False
With wksQuelle
For i = 1 To lastRow
varSearch = .Range("A" & i)
p = 1
For Each rng In rngVergleich
If InStr(rng, varSearch) > 0 Then
p = 0
Exit For
End If
Next rng
If p = 1 Then
.Range("A" & i & ":C" & i).Copy wksZiel.Range("A" & x)
x = x + 1
End If
Next i
End With
Set wksQuelle = Nothing
Set wksVergleich = Nothing
Set wksZiel = Nothing
Set rng = Nothing
Set rngVergleich = Nothing
End Sub
Gruß
Klaus
Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige