Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabellenvergleich eingefügte Zeilen
#1
Hallo Leute,
ich bräuchte mal Hilfe bei einem Problem zu dem ich nichts passendes finde.
Beispieldatei habe ich angefügt. (stark gekürzt)
Wir haben eine neue Brandmeldeanlage bekommen, die im Laufe der nächsten Jahre Stück für Stück die alte ersetzen soll. Teile der Programmierung kann ich mir als .csv exportieren. Jetzt wird in der nächsten Zeit immer mal wieder ein Mitarbeiter der Fa. S...s kommen und etwas umprogrammieren. Dabei kann es folgende Änderungen geben:
  1.Zeilen werden eingefügt (Erweiterung)
  2.Zeilen werden gelöscht. (nicht so oft, aber denkbar)
  3.Texte ändern sich (Spalte E)
sonstige Änderungen wird es wahrscheinlich nicht geben.
Da die Datei jetzt schon ca. 1000 Zeilen hat und auf ca 10.000 wachsen wird ist es fast unmöglich Unterschiede durch drüberschauen zu finden.
Hat jemand eine Idee ?
Werde wohl erst Montag wieder reinschauen, weil ich in 30 Min Feierabend habe.
Danke im Voraus.
Gruss Igel


Angehängte Dateien
.csv   Beispiel.csv (Größe: 1,12 KB / Downloads: 7)
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Antworten Top
#2
Hallo,

ein erste Antwort:

In CMD gibt es die Funktion "FC" (file compare)

In der Beispieldatei habe ich eine "0" gegen "neu" ersetzt, das Ergebnis war:

Code:
fc Beispiel.csv Beispiel2.csv
Vergleichen der Dateien Beispiel.csv und BEISPIEL2.CSV
***** Beispiel.csv
1100;1101;9415;1;U2 Flur Bereitschaft;;;0;;;
1100;1101;9418;;U2 Bereitschaft Behandlung  Raum;;;0;;;
***** BEISPIEL2.CSV
1100;1101;9415;1;U2 Flur Bereitschaft;;;0;;;
1100;1101;9415;1;U2 Flur Bereitschaft;;;neu;;;
1100;1101;9418;;U2 Bereitschaft Behandlung  Raum;;;0;;;
*****

Da es viele Alternativen gibt, sollte bevor es Ernst wird, gründlich getestet werden.

mfg
Antworten Top
#3
Hi Fen,
Einzelne Änderungen in den Texten tät ich wohl noch selber hinkriegen, problematischer sind eingefügte oder gelöschte Zeilen.
Aber danke schon mal.
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Antworten Top
#4
In der Datei "Beispiel2.csv" war eine Zeile eingefügt.

Es geht auch mit Powershell

Code:
Compare-Object (gc .\Beispiel.csv) (gc .\Beispiel2.csv  )

Das Ergebnis ist:

Code:
InputObject                                    SideIndicator
-----------                                    -------------
1100;1101;9415;1;U2 Flur Bereitschaft;;;neu;;; =>

Da müßten alle Varianten durchgespielt werden, um die Ausgabe gut interpretieren zu können.

mfg


Angehängte Dateien
.csv   Beispiel2.csv (Größe: 1,17 KB / Downloads: 3)
Antworten Top
#5
Moin, schönen Montag erstmal, Angel

Okay, Fen, hast recht, aber so richtig kann ich mich damit nicht anfreunden.
Es kann durchaus passieren, dass auf einen Schlag ein paar hundert Änderungen vorgenommen werden.
Da ist mir das doch etwas schwer zu lesen.
Mir schwebt eher etwas in der Art, wie in der diesmal angefügten Datei. Die beiden csvs in alt und neu kopiert und dann im 3. Blatt die Unterschiede aufgelistet.

Eilt nicht, hab noch´n Berg anderer Arbeiten.

Gruss Igel

...Anhang nochmal geändert


Angehängte Dateien
.xlsx   BMA_Änderungen.xlsx (Größe: 10,92 KB / Downloads: 3)
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Antworten Top
#6
Hallo,

da es nicht das erste Mal ist, dass so ein Thema aufkommt, sollte man alle verfügbaren Programme prüfen, bevor man selbst einen VBA-Code schreibt.

https:/ /en.wikipedia.org/wiki/Comparison_of_file_comparison_tools

https:/ /thegeekpage.com/12-best-free-file-comparison-tools-for-windows-10/

https:/ /download.cnet.com/Files-Compare-Tool/3000-2248_4-10315688.html

https:/ /www.wikihow.com/Compare-Two-Excel-Files

https:/ /prestosoft.com/edp_examdiff.asp

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Igelbauer
Antworten Top
#7
Hi
das ExamDiff teste ich mal. Wird aber etwas dauern. Hatte auch für die alte BMA ein Programm namens WinMerge.
War für txt. Dateien super. Die alte BMA hat txt. exportiert. Danke erstmal.

Was den deinen Hinweis mit dem Dateiupload betrifft steh ich auf dem Schlauch.

Wenn ich etwas übersehen haben sollte : Ich habe noch ca. 35% Sehkraft und arbeite mit Irrsinnsauflösung und Bildschirmlupe. Sorry

Gruss Igel
Ich kann nicht alles wissen,
aber vieles lernen ! 19
Antworten Top
#8
Hallo Igelbauer,


Zitat:Was den deinen Hinweis mit dem Dateiupload betrifft steh ich auf dem Schlauch.
dafür kann Fennek nichts - die Forensoftware hat den Hinweis automatisch geschrieben. Ich habe die geposteten Links "sichtbar" gemacht. Damit sie nach Copy&Paste in deinem Browser auch funktionieren, musst du das Leerzeichen zwischen den beiden Slashs entfernen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
[-] Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:
  • Igelbauer
Antworten Top
#9
Hi,

(15.06.2020, 08:59)Igelbauer schrieb: War für txt. Dateien super. Die alte BMA hat txt. exportiert. Danke erstmal.

Du könntest ja notfalls die csv-Datei in .txt umbenennen.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Igelbauer
Antworten Top
#10
Hallo,

hier ein erster Ansatz mit VBA:

- die Sheets "alt" und "neu" werden in ein 1-dim Array gewandelt
- im Sheets("VBA") werden beide mit "Match()" verglichen

Damit kann man gelöschte und neue Zeilen erkennen.

Ein Prüfung auf Änderungen steht noch aus.

mfg

Code:
Sub F_en()
Dim App As Application: Set App = Application
Dim alt1, neu1
alt = Sheets("alt").Cells(1).CurrentRegion
neu = Sheets("neu").Cells(1).CurrentRegion
ReDim alt1(UBound(alt))
ReDim neu1(UBound(neu))

For i = 1 To UBound(alt)
    alt1(i) = Join(App.Index(alt, i, 0), ";")
Next i

For i = 1 To UBound(neu)
    neu1(i) = Join(App.Index(neu, i, 0), ";")
Next i

With Sheets("VBA")
    .Range("B1").Resize(UBound(alt1)+1) = App.Transpose(alt1)
    .Range("B1:B" & .Cells(Rows.Count, 2).End(xlUp).Row).Name = "alt"
    .Range("E1").Resize(UBound(neu1)+1) = App.Transpose(neu1)
    .Range("E1:E" & .Cells(Rows.Count, 2).End(xlUp).Row).Name = "neu"
    .Range("A2:A" & .Cells(Rows.Count, 2).End(xlUp).Row) = "=row()"
    .Range("D2:D" & .Cells(Rows.Count, 5).End(xlUp).Row) = "=row()"
    .UsedRange.Cells = .UsedRange.Cells.Value
    
    .Range("C2:C" & Cells(Rows.Count, 2).End(xlUp).Row) = "=Match(RC[-1], neu, 0)"
    .Range("F2:F" & Cells(Rows.Count, 5).End(xlUp).Row) = "=Match(RC[-1], alt, 0)"
End With

End Sub


Angehängte Dateien
.xlsm   Igel BMA_Änderungen.xlsm (Größe: 22,41 KB / Downloads: 3)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste