Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
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
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenabgleich

Tabellenabgleich
30.05.2005 08:04:54
Andreas.R
Hallo Excelfreunde
ich habe von Ingolf folgendes Makro erhalten, das alle neuen Datensätze aus Tabelle "Neu" in die Tabelle "Auswertung" einfügt, wenn der Datensatz in Tabelle "Auswertung" noch nicht vorhanden ist.Datensätze die in Tabelle "Auswertung" bereits vorhanden sind sollen dabei nicht überschrieben bzw. verändert werden.(wegen Formeln zur weiteren Behandlung)

Sub kopieren()
Dim rng As Range, rngZiel As Range
For Each rng In Worksheets("Neu").Range(Cells(2, 11), Range("A65536").End(xlUp))
Set rngZiel = Worksheets("Auswertung").Range("A2:A65536") _
.Find(what:=rng, lookat:=xlWhole)
Range(rng, rng.Offset(0, 15)).Copy
If rngZiel Is Nothing Then
Worksheets("Auswertung").Range("A65536").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Else
rngZiel.PasteSpecial Paste:=xlPasteAll
End If
Next rng
End Sub

Das funktioniert auch ganz gut
Nur mein Problem dabei ist, das meine Kundennumer nicht in Spalte "A", sondern in Spalte "K" steht. Die Codezeile
Range(rng, rng.Offset(0, 15)).Copy
soll nur den Datensatz von Spalte "A"-"P" kopieren. Was bei Ingolf seinem Makro ja auch funzt.
Wie muß die Codezeile aber lauten, wenn der Suchbegriff in Spalte K gesucht wird , und auch dann die Datensätze von Spalte "A"-"P" werden sollen.
besten Dank für Eure Hilfe
Gruß Andreas

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenabgleich
30.05.2005 08:37:37
Fritz
Hi Andreas,
Ungetestet :

Sub kopieren()
Dim rng As Range, rngZiel As Range
For Each rng In Worksheets("Neu").Range(Cells(2, 11), Range("A65536").End(xlUp))
Set rngZiel = Worksheets("Auswertung").Range("K2:K65536") _
.Find(what:=rng, lookat:=xlWhole)
Range(rng, rng.Offset(0, 15)).Copy
If rngZiel Is Nothing Then
Worksheets("Auswertung").Range("A65536").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Else
rngZiel.PasteSpecial Paste:=xlPasteAll
End If
Next rng
End Sub

Fritz
AW: Tabellenabgleich
30.05.2005 11:35:41
Andreas.R
Halo Fritz
das Funzt so nicht
hab das Makro noch mal so abgeändert

Sub kopieren2()
Dim rng As Range, rngZiel As Range
For Each rng In Worksheets("Neu").Range(Cells(2, 11), Range("K65536").End(xlUp))
Set rngZiel = Worksheets("Auswertung").Range("K2:K65536") _
.Find(what:=rng, lookat:=xlWhole)
Range(rng, rng.Offset(0, 15)).Copy
If rngZiel Is Nothing Then
Worksheets("Auswertung").Range("K65536").End(xlUp) _
.Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Else
rngZiel.PasteSpecial Paste:=xlPasteAll
End If
Next rng
End Sub

Der Fehler liegt glaube ich in der CodeZeile "Range(rng, rng.Offset(0, 15)).Copy"
Wenn die Kundennumer aus Tabelle "NEU" Spalte "K" (Kundennummer)in der Tabelle "Auswertung" Spalte "K" (Kundennummer) bereits vorhanden ist, soll eigentlich an der Tabelle "Auswertung" nichts geändert werden. Nur wenn die Kundennummer aus Tabelle "Neu" in Tabelle "Auswertung noch nicht vorhanden ist, soll der (und da liegt der Haken) gesamte Datensatz und zwar von Spalte "A" bis Spalte "P" übertragen werden. Die Kundennummer muß dabei wieder in Spalte "K" bleiben.
Gruß Andreas
Anzeige
AW: Tabellenabgleich
30.05.2005 20:40:11
Beni
Hallo Andreas,
Gruss Beni

Sub kopieren3()
Dim Nlz, Alz, rng As Long
Dim KN As Variant
Nlz = Sheets("Neu").Cells(65536, 11).End(xlUp).Row
For rng = 2 To Nlz
KN = Sheets("Neu").Cells(rng, 11)
With Sheets("Auswertung")
Set rngZiel = .Columns(11).Find(What:=KN, LookIn:=xlValues, LookAt:=xlWhole)
If rngZiel Is Nothing Then
Alz = .Range("K65536").End(xlUp).Row + 1
Range(Cells(rng, 1), Cells(rng, 15)).Copy .Cells(Alz, 1)
End If
End With
Next rng
End Sub

AW: Tabellenabgleich
31.05.2005 06:59:12
Andreas.R
Hallo Beni
hat Super geklappt.
Genau das wollte ich.
Danke nochmals an alle Helfer. Ist einfach ein Geniales Forum. Weiter so
Gruß Andreas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige