Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellen vergleichen

Betrifft: Tabellen vergleichen von: Michael
Geschrieben am: 25.05.2005 09:10:54

Hallo,

ich habe aus der Recherche folgenden Code:


Dim wks As Worksheet
Dim rngA As Range, rngB As Range
Dim iRow As Integer, iCounter As Integer, iCol As Integer

Set rngA = Worksheets("eins").Range("C8").CurrentRegion
Set rngB = Worksheets("zwei").Range("C8").CurrentRegion
Set wks = Worksheets("drei")

iCol = rngA.Columns.Count
If rngB.Columns.Count > iCol Then
iCol = rngB.Columns.Count
End If

For iCounter = 1 To iCol
wks.Cells(1, iCounter) = "Spalte" & iCounter 'geändert
Next iCounter
wks.Rows(1).Font.Bold = True
rngA.Range("C8").CurrentRegion.Copy wks.Range("C8") 'stimmt das ?
iRow = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
rngB.Range("C8").CurrentRegion.Copy wks.Cells(iRow, 1)
wks.Range("A1").CurrentRegion.AdvancedFilter action:=xlFilterCopy, _
copytorange:=wks.Cells(1, wks.UsedRange.Columns.Count + 1), _
unique:=True

wks.Range(wks.Cells(1, 1), wks.Cells(1, iCol)). _
EntireColumn.Delete
wks.Columns.AutoFit


Ich möchte damit in den Blättern "eins" und "zwei" die Spalten D vergleichen,
und die Spalten B : M nach Blatt "drei" kopieren.

Es erscheinen aber nur die Spalten G und H in Blatt drei.


Ich schaffe es einfach nicht, den Code so umzuschreiben, dass dies ereicht wird.

Kann mir jemand sagen was ich ändern muß?

Vielen Dank im voraus

Michael

  


Betrifft: AW: Tabellen vergleichen von: IngGi
Geschrieben am: 25.05.2005 11:13:40

Hallo Michael,

ändere die Zeile mit "stimmt das?" in:

columns("B:M").copy destination:=wks.range("B1")

Gruß Ingolf


  


Betrifft: AW: Tabellen vergleichen von: Michael
Geschrieben am: 25.05.2005 12:05:11

Hallo Ingolf,

vielen Dank für deinen Tipp. Leider klappt es noch nicht.
Jetzt werden Die Spalten H : M in die Tabelle "drei" kopiert, und zwar in die Spalten A : F.

Die Spalten A:F aus den beiden Tabellenblättern die verglichen werden, fehlen immer noch.

Hast Du vielleicht noch einen Vorschlag? Ehrlich gesagt, ich kapiere den ganzen Code noch nicht, deshalb meine dumme Frage.

Vielen Danl schonmal,

Michael


  


Betrifft: AW: Tabellen vergleichen von: IngGi
Geschrieben am: 25.05.2005 12:29:07

Hallo Michael,

ich muß zugeben, das war zunächst ein Schnellschuss von mir. Ich hab' mir den Code jetzt mal genauer angesehen. Aus dem Blatt "zwei" wird der belegte Bereich um C8 in Blatt "drei" kopiert, und zwar in Spalte A bis ? (je nach Breite des Bereiches), und dort ab einer Zeile unter einem bereits belegten Bereich. Am Ende des Makros werden diese Spalten in Blatt "drei" dann wieder gelöscht???

wks.Range(wks.Cells(1, 1), wks.Cells(1, iCol)).EntireColumn.Delete

Wo du die Daten aus Blatt "eins" hinkopiert haben willst, weiß ich gar nicht. Vielleicht lädst du die Datei mal hoch und beschreibst darin genau, was wohin kopiert werden soll?

Gruß Ingolf


  


Betrifft: AW: Tabellen vergleichen von: Michael
Geschrieben am: 25.05.2005 13:16:28

Hallo Ingolf,

der Tipp war super. Ich habe einfach die Anweisung gelöscht, jetzt werden auch alle Spalten kopiert.

Vielen Dank nochmals,

Gruß

Michael


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellen vergleichen"