Thema Datum  Von Nutzer Rating
Antwort
18.03.2014 09:11:41 Berliner85
NotSolved
18.03.2014 12:08:45 H27
NotSolved
Rot Excel-Inhalte mit VBA vergleichen und um Dubletten bereinigen
18.03.2014 14:34:31 Gast76099
NotSolved
18.03.2014 19:15:29 H27
NotSolved
19.03.2014 09:06:35 Berliner85
NotSolved

Ansicht des Beitrags:
Von:
Gast76099
Datum:
18.03.2014 14:34:31
Views:
973
Rating: Antwort:
  Ja
Thema:
Excel-Inhalte mit VBA vergleichen und um Dubletten bereinigen

Danke erstmal für die schnelle Antwort und Hilfsbereitschaft....ich kopiere mal noch die Import-Funktion mit rein, das habe ich vorhin vergessen :)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Option Explicit
 
Const HomeDatei = "DUBLETTENBEREINIGUNG.xlsm" 'Name Arbeitsmappe Makro-Excel-Datei
Const HomeDaten = "Daten-Import"          'Name Tabellenblatt Daten-Import
Const HomeListe = "Datei-Liste"           'Name Tabellenblatt Datei-Liste
Const HomeZeile = 3                       'Erste Zeile Einfügen
Const CopyZeile = 3                       'Erste Zeile Kopieren
Const ListDatei = "A1"                    'Zelle erster Dateiname
Const ErrMsg = "Abbruch! Datei existiert nicht: "
 
Sub SheetsImport()
 
Dim WksHome As Worksheet, WksList As Worksheet, EndLine As Integer, NextLine As Integer
 
Dim WkbCopy As Workbook, WksCopy As Worksheet, Fso As Object, File As Object
 
Set Fso = CreateObject("Scripting.FileSystemObject")
 
Set WksHome = Workbooks(HomeDatei).Sheets(HomeDaten)
 
Set WksList = Workbooks(HomeDatei).Sheets(HomeListe)
 
EndLine = GetEndLine(WksHome):  NextLine = HomeZeile
 
If EndLine >= HomeZeile Then WksHome.Rows("3:" & EndLine).Cells.Clear
 
Application.ScreenUpdating = False
 
For Each File In WksList.Range(ListDatei).CurrentRegion
 
If Fso.FileExists(File) = False Then
 
Application.ScreenUpdating = True
 
MsgBox ErrMsg & File, vbExclamation, "Fehler"Exit Sub
 
End If
 
Set WkbCopy = Workbooks.Open(File):  Set WksCopy = WkbCopy.Sheets(1)
 
EndLine = GetEndLine(WksCopy)
 
If EndLine >= CopyZeile Then
 
WksCopy.Rows("3:" & EndLine).Copy
 
WksHome.Rows(NextLine).Insert Shift:=xlDown
 
Application.CutCopyMode = False
 
WkbCopy.Saved = True:  WkbCopy.Close
 
NextLine = GetEndLine(WksHome) + 1
 
End If
 
Next
 
Application.ScreenUpdating = True
 
 
End Sub

 

Welche Dateien importiert werden, lege ich auf dem zweiten Arbeitsblatt fest, in dem ich den Pfad einfach untereinander schreibe.

Ich importiere beide Dateien in das erste Datenblatt, auf diese Liste wende ich die Dublettenbereinigung an, die auch funktioniert.

Nun soll zusätzlich aus der neuen Liste im Arbeitsblatt 1 die Daten aus der Bestandsliste abgezogen werden.

Dahinter steckt die Logik, aus der Datei "NeueAdressen" jene Datensätze zu löschen, die bereits im Bestand sind. Soweit funktioniert es bis jetzt. Nun müssen aber logischerweise auch die Bestandsdaten rausgelöscht werden, weil ich ja nur neue Adressen sehen will. Diesen Schritt habe ich vergessen.

Wie kann ich dies nun genau integrieren?

Ganz herzlichen Dank im Voraus!!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
18.03.2014 09:11:41 Berliner85
NotSolved
18.03.2014 12:08:45 H27
NotSolved
Rot Excel-Inhalte mit VBA vergleichen und um Dubletten bereinigen
18.03.2014 14:34:31 Gast76099
NotSolved
18.03.2014 19:15:29 H27
NotSolved
19.03.2014 09:06:35 Berliner85
NotSolved