Daten aus Vortag übernehmen

17/02/2009 - 10:50 von Tom | Report spam
Hallo,

ich hoffe mir kann jemand helfen, folgendes Problem.

Ich erstelle tàglich ein Excel Blatt mit Namen des aktuellen Datums.

Die Daten werden mittels VBA vom Vortag ins aktuelle Datenblatt
kopiert
und zwar, wenn die Daten in Spalte D vom alten und neuen
Tabellenblatt
übereinstimmen, werden die Daten in Spalte N und O übernommen,
folgendermaßen:

If .Range("D" & lauf) = Worksheets(Tabellevorher).Range("D" &
laufvorher) Then
.Range("N" & lauf).Value = Worksheets
(Tabellevorher).Range("N" & laufvorher)
.Range("O" & lauf).Value = Worksheets
(Tabellevorher).Range("O" & laufvorher)
Exit For
End If

Jetzt habe ich das Probelm, dass in Spalte D mehrmals die gleichen
Daten vorkommen können,
diese sich aber wiederum nur in Spalte E unterscheiden.

Gibt es eine Möglichkeit die Spalten D und E mit der Tabelle vorher zu
vergleichen und dann
die Daten einzukopieren?

Ich hatte es mir so vorgestellt:

If .Range("D:E" & lauf) = Worksheets(Tabellevorher).Range("D:E" &
laufvorher) Then
.Range("N" & lauf).Value = Worksheets
(Tabellevorher).Range("N" & laufvorher)
.Range("O" & lauf).Value = Worksheets
(Tabellevorher).Range("O" & laufvorher)
Exit For
End If


Funktioniert so aber nicht.

Danke im voraus

MfG

Tom
 

Lesen sie die antworten

#1 Andreas Killer
17/02/2009 - 12:33 | Warnen spam
On 17 Feb., 10:50, Tom wrote:

Gibt es eine Möglichkeit die Spalten D und E mit der Tabelle vorher zu
vergleichen und dann
die Daten einzukopieren?

Ich hatte es mir so vorgestellt:

If .Range("D:E" & lauf) = Worksheets(Tabellevorher).Range("D:E" &
laufvorher) Then
                .Range("N" & lauf).Value = Worksheets
(Tabellevorher).Range("N" & laufvorher)
                .Range("O" & lauf).Value = Worksheets
(Tabellevorher).Range("O" & laufvorher)
                Exit For
            End If

Funktioniert so aber nicht.


Du musst die Zellen der beiden Bereiche einzeln miteinander
vergleichen und dann am Ergebnis festmachen ob kopiert werden soll,
Beispiel:

'Làufe gleich gewesen?
Gleich = Lauf = LaufVorher

If Gleich Then
'Bereiche einzeln vergleichen
For Y = 1 To Lauf
If .Range("D" & Y) <> Sheets(Tabellevorher).Range("D" & Y) Or _
.Range("E" & Y) <> Sheets(Tabellevorher).Range("E" & Y) _
Then
Gleich = False
Exit For
End If
Next
End If

If Gleich Then
'Kopieren

Andreas.

Ähnliche fragen