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

Import, wenn nicht vorhanden

Import, wenn nicht vorhanden
26.11.2002 09:38:04
N. Davidheimann
Hallo allerseits,

sagen wir Datei 1 = Kundenstamm, Datei 2 = Kunden im November.
beide Dateien gleiche Spalten, in Spalte A Kundennummer

Wie bekomme ich folgendes per VBA hin: füge in Datei 1 aus Datei 2 die Kunden (=Zeilen mit allen Spalten) ein, von denen in Datei 1 in Spalte A die Kundennummer nicht vorhanden ist (=Neukunden).

Mir ist völlig klar, daß dieses eigentlich eine klassische Datenbankfrage ist. Aus bestimmten Gründen versuche ich aber, die Sache in Excel zu realisieren.

Gruß
Norbert

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Import, wenn nicht vorhanden
26.11.2002 12:36:45
M. Kuhn
Moin Norbert,

etwa so:

Sub Involve()

Dim Datei_1 As Object, Datei_2 As Object
Dim i As Integer, j As Integer
Dim lngFirstFreeRow As Long ' Nr. erste freie Zeile in Datei 1
Dim lngLastFoundRow As Long ' Nr zu kopierende Zeile aus Datei 2

j = 1

Set Datei_1 = Application.Workbooks("Datei1.xls").Worksheets(1)
Set Datei_2 = Application.Workbooks("Datei2.xls").Worksheets(1)

For i = 1 To Datei_1.UsedRange.End(xlUp)
If Datei_1.Cells(i, 1) = "" Then ' erste freie Zeile zum Einfügen finden
lngFirstFreeRow = i
Exit For
End If
Next i

While j < Datei_2.UsedRange.End(xlUp)
For i = 1 To lngFirstFreeRow - 1
If Datei_2.Cells(j, 1).Value = Datei_1.Cells(i, 1).Value Then
i = 0
j = j + 1
Exit For
End If
Next i
If i = lngFirstFreeRow Then ' wenn keine Übereinstimmung
Datei_2.Activate
Datei_2.Range("A" & j, "IV" & j).Select
Selection.Copy
Datei_1.Activate
Datei_1.Range("A" & lngFirstFreeRow, "IV" & lngFirstFreeRow).Select
Selection.PasteSpecial
lngLastFoundRow = lngLastFoundRow + 1
lngFirstFreeRow = lngFirstFreeRow + 1
j = j + 1
i = 0
End If
Wend

End Sub

Anzeige
Re: Import, wenn nicht vorhanden
26.11.2002 13:06:39
N. Davidheimann
Hallo M. Kuhn,

danke Dir ganz herzlich. Da muß ein "VBA-Halbwissender" sich ja richtig durcharbeiten. Werde den Code auf die reale Situation anpassen und mich melden.

Gruß
Norbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige