Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
836to840
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
836to840
836to840
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
2 Mappen vergleichen, Neueinträge ergänzen
19.01.2007 08:01:06
Jörg
Hallo Excel/VBA Experten,
ich habe folgendes Problem.
Ich habe zwei Mappen mit je zwei Spalten, zum Beispiel:
Mappe1:
A B
2 y
1 x
3 z
Mappe2:
A B
3 x
2 r
7 f
1 z
wobei Mappe1 meine Arbeitsmappe ist. Mappe2 erhalte ich und soll die Änderungen in Mappe1 einfügen bzw. ergänzen, also hinten anfügen. In diesem Beispiel wäre also in Mappe1 Zeile 1 das y durch ein r zu ersetzen, in Zeile 2 das x durch ein z und in Zeile 3 das z durch ein x. In Zeile 4 wäre 7 f zu ergänzen.
Ich hoffe, ich habe mich verständlich ausgedrückt :-)
Zusätzlich:
- Das ganze per CommandButton, aber das bekomme ich wohl selbst hin.
- Prüfung, ob Mappe2 im selben Verzeichnis liegt, sonst Meldung und nix passiert
- Die Zellenformate (Text- und Hintergundfarbe, Größe) sollen bei Mappe1 erhalten bleiben (das ist wichtig)
Naja, ich denke, das reicht erstmal. Wenn ich hierfür Info bekomme, wäre ich schon super dankbar.
Vielen Dank, Gruß Jörg

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

Betreff
Datum
Anwender
Anzeige
AW: 2 Mappen vergleichen, Neueinträge ergänzen
19.01.2007 08:29:10
AndrRo
Hallo Jörg,
probier mal:

Sub Vergleich()
'Master ist Tabelle1
'Daten Tabelle2
'Sp1 erste Spalte
'Sp2 zweite Spalte
Sheets("Tabelle2").Activate
Range("a1").Select  'erster Datensatz
Do Until IsEmpty(ActiveCell)
Sp1 = ActiveCell
Sp2 = ActiveCell.Offset(0, 1)
Sheets("Tabelle2").Activate
Set c = Range("A:A").Find(Sp1, LookIn:=xlValues)
If Not c Is Nothing Then
c.Offset(0, 1) = Sp2
Else
Range("A65336").End(xlUp).Offset(1, 0) = Sp1
Range("A65336").End(xlUp).Offset(0, 1) = Sp2
End If
Sheets("Tabelle2").Activate
ActiveCell.Offset(1, 0).Select
Loop
End Sub

gruss
AndrRo
Anzeige
AW: 2 Mappen vergleichen, Neueinträge ergänzen
19.01.2007 09:00:50
Jörg
Hi AndrRo,
ich befürchte, dafür reichen meine VBA Kenntnisse nicht aus :-(
Ich hab's probiert, kriege aber immer irgendwelche Laufzeitfehler.
Wo muss das Makro hin? Mappe1(Master) in Tabelle1 oder ein extra Modul? Es soll ja später per CommandButton in der Tabelle gestartet werden.
Ich habe ja auch zwei Mappen, nicht eine Mappe mit zwei Tabellen.
Kannst Du oder andere freundliche Helfer evtl. noch detaillierter helfen?
Gruß Jörg
AW: 2 Mappen vergleichen, Neueinträge ergänzen
19.01.2007 10:40:09
AndrRo
Hallo Jörg,
ich bin ausgegangen, das beide Tabellen in einer Arbeitsmappe liegen.

Sub Vergleich()
'Master ist Tabelle1 und Mappe1
'Daten Tabelle2 und Mappe2
'Sp1 erste Spalte
'Sp2 zweite Spalte
'Kopieren in Master
'Namenvergabe
Master=ActiveWorkbook.Name
MasterBlatt="Tabelle1"  'Name Anpassen
DatenDatei="Mappe2.XLS" 'die datei muss offen sein; Name anpassen
DatenBlatt="Tabelle2"  'Name Anpassen
'Starthauptroutine
Workbooks(DatenDatei).activate
Sheets(DatenBlatt).Activate
Range("a1").Select  'erster Datensatz
Do Until IsEmpty(ActiveCell)
Sp1 = ActiveCell
Sp2 = ActiveCell.Offset(0, 1)
Workbooks(Master).Activate
Sheets(MasterBlatt).Activate
Set c = Range("A:A").Find(Sp1, LookIn:=xlValues)
If Not c Is Nothing Then
c.Offset(0, 1) = Sp2
Else
Range("A65336").End(xlUp).Offset(1, 0) = Sp1
Range("A65336").End(xlUp).Offset(0, 1) = Sp2
End If
Workbooks(DatenDatei).Activate
Sheets(DatenBlatt).Activate
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Gruss
AndrRo
Anzeige
AW: 2 Mappen vergleichen, Neueinträge ergänzen
19.01.2007 11:04:50
Jörg
Hallo AndrRo,
vielen Dank! Das klappt mit zwei einfachen Tabellen.
Jetzt muss ich das Makro noch anpassen, aber das kriege ich schon hin.
Sonst komme ich wieder :-)
Schönen Tag noch, Gruß Jörg

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige