Thema Datum  Von Nutzer Rating
Antwort
Rot Vergleich von Zeilen verschiedener Tabellenblätter
31.01.2018 18:26:17 Tess
NotSolved
01.02.2018 06:15:51 Werner
NotSolved
01.02.2018 10:28:57 123456
NotSolved

Ansicht des Beitrags:
Von:
Tess
Datum:
31.01.2018 18:26:17
Views:
1024
Rating: Antwort:
  Ja
Thema:
Vergleich von Zeilen verschiedener Tabellenblätter
Hallo, ich hoffe ihr könnt mir vielleicht weiter helfen. Ich bin noch recht neu im Umgang mit VBA und komme nicht weiter. Ich möchte die Werte aus zwei Tabellenblättern miteinander vergleichen. Der zu vergleichende Datensatz besteht aus jeweils 11 Werten. Dazu soll die erste Zeile in Blatt "Neu" mit der ersten in Blatt "Alt" verglichen werden. Stimmen die Werte überein, sollen die Werte die dort in den Spalten 12 bis 16 stehen in die entsprechende Zeile in "Neu" übertragen werden. Stimmen die Werte nicht überein, soll die Zeile aus "Neu" mit der zweiten Zeile aus "Alt" verglichen werden, usw. Wird kein passender Datensatz gefunden, soll eine 0 in die Spalten 12 bis 16 eingetragen werden. Dann soll das ganze für die nächste Zeile in "Neu" wiederholt werden. Die Anzahl der jeweiligen Zeilen ist Variabel und kann deshalb nicht mit einem festen Wert festgelegt werden. mein größtes Problem ist, dass ich die Zuweisung der Daten nicht richtig hin bekomme Liebe Grüße Tess Hier mein bisheriger, leider fehlerhafter Ansatz: Function Vergleich(Reihe1() As Variant, Reihe2() As Variant) As Boolean If Reihe1(1, 1) <> Reihe2(1, 1) And _ Reihe1(1, 2) <> Reihe2(1, 2) And _ Reihe1(1, 3) <> Reihe2(1, 3) And _ Reihe1(1, 4) <> Reihe2(1, 4) And _ Reihe1(1, 5) <> Reihe2(1, 5) And _ Reihe1(1, 6) <> Reihe2(1, 6) And _ Reihe1(1, 7) <> Reihe2(1, 7) And _ Reihe1(1, 8) <> Reihe2(1, 8) And _ Reihe1(1, 9) <> Reihe2(1, 9) And _ Reihe1(1, 10) <> Reihe2(1, 10) And _ Reihe1(1, 11) <> Reihe2(1, 11) Then Vergleich = False Exit Function End If Vergleich = True End Function Sub Wertevergleich() 'Vergleich der Berechnungswerte und der alten Werte mit den neuen Werten. 'Definition Laufvariablen Dim var1 As Integer Dim var2 As Integer 'Definition Zeilenvariablen Dim letzteZeileNeu As Integer letzteZeileNeu = Cells(Rows.Count, 1).End(xlUp).Row Dim letzteZeileAlt As Integer letzteZeileAlt = Cells(Rows.Count, 1).End(xlUp).Row 'Analysiere und gehe Zeile für Zeile durch For var1 = 4 To letzteZeileNeu Dim ZeileNeu() ZeileNeu() = Worksheets("Alt").Range("A" & var1 & ":K" & var1).Value Dim ZeileAlt() Dim passt As Boolean 'finde jeweilige Zeile in Berechung und übertrage Werte passt = False For var2 = 2 To letzteZeileAlt ZeileAlt() = Worksheets("Neu").Range("A" & var2 & ":K" & var2) If Vergleich(ZeileNeu, ZeileAlt) = True Then 'Dann übernehme die folgenden Werte Worksheets("Alt").Range("L" & var2 & ":R" & var2).Value = Worksheets("Neu").Range("L" & var1 & ":R" & var1).Value passt = True var2 = var2 + 1 Exit For End If Next var2 If passt <> True Then Range(Cells(var1, 16), Cells(var1, 21)).Value = "0" End If Next var1 MsgBox "Abfrage beendet" End Sub

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
Rot Vergleich von Zeilen verschiedener Tabellenblätter
31.01.2018 18:26:17 Tess
NotSolved
01.02.2018 06:15:51 Werner
NotSolved
01.02.2018 10:28:57 123456
NotSolved