Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel-Datein Zeile für Zeile vergleichen

Excel-Datein Zeile für Zeile vergleichen
19.10.2017 18:57:16
Dominik
Hallo an alle,
ich habe folgenden Code geschrieben:
Sub MontageanweisungErstellen()
Dim wrbZiel As Workbook
Dim intZeileFilterTabelle As Integer
Dim intZeileMontageanleitung As Integer
Dim intZielSchild As Integer
Dim intQuelleSchild As Integer
Dim strMaschinenTyp As String
Dim intSpalteMaschinenTyp As Integer
Dim strSpeicherPfad As String
strSpeicherPfad = "C:\Users\Dominik\Desktop\Test\" 'Hier Speicherpfad eintragen
'Application.ScreenUpdating = False  '"Flackern" beim ausführen unterdrücken
If Dir(strSpeicherPfad & "Montageanweisung.xls")  "" Then
Set wrbZiel = Workbooks.Open(strSpeicherPfad & "Montageanweisung.xls")
m_strMsgBoxBezeichnung = p_cstrAppTitel 'in dieser Variablen steht ein String den ich  _
deglariert habe
intZeileFilterTabelle = p_cintStartZeile '=3
intZeileMontageanleitung = p_cintStartzeileMontageanweisung '=17
ThisWorkbook.Activate
'Löscht alle Zeilen mit Inhalt der nicht benötigt wird (Wichtig Excel-Listen müssen 1  _
zu 1 übereinstimmen!)
Do While Tabelle1.Cells(intZeileFilterTabelle, 4)  ""
Workbooks("Montageanweisung.xls").Activate
intZielSchild = Workbooks("Montageanweisung.xls").Sheets("Montageanweisung"). _
Cells(intZeileMontageanleitung, 1) 'Nummer aus Ziel-Datei
ThisWorkbook.Activate
intQuelleSchild = Tabelle1.Cells(intZeileFilterTabelle, 4) 'Nummer aus Ziel- _
Datei
If intZielSchild = intQuelleSchild Then
If Tabelle1.Rows(intZeileFilterTabelle).Hidden = True Then
Workbooks(p_cstrMontageanweisungName.xls).Activate
Workbooks(p_cstrMontageanweisungName.xls).Sheets("Montageanweisung"). _
Cells(intZeileMontageanleitung, 1).EntireRow.Delete
intZeileMontageanleitung = intZeileMontageanleitung - 1
End If
Else
intZeileFilterTabelle = intZeileFilterTabelle - 1
intQuelleSchild = Tabelle1.Cells(intZeileFilterTabelle, 4)
MsgBox "Die Reihenfolge in der Excel-Listen stimmt nicht überein. Bitte  _
stellen Sie sicher, dass diese Reihenfolge stimmt. Abbruch in Zeile: " & intZeileFilterTabelle & " bei Schild: " & intQuelleSchild & " Das Programm wird jetzt abgebrochen. Wiederholen Sie den vorgang nach der Überarbeitung!", vbCritical, m_strMsgBoxBezeichnung
End
End If
intZeileMontageanleitung = intZeileMontageanleitung + 1
Loop
'Speichern der Montageanweisung
Workbooks("Montageanweisung.xls").Activate
Workbooks("Montageanweisung.xls").Save
Workbooks("Montageanweisung.xls").Close
MsgBox "Montageanleitung wurde erstellt.", vbInformation, m_strMsgBoxBezeichnung
Else
MsgBox "Bitte zuerst einen komplette Montageanweisung über Tool in das entsprechende  _
Verzeichnis exportieren.", vbCritical, m_strMsgBoxBezeichnung
End If
'Application.ScreenUpdating = True
End Sub

Dieser soll dafür sorgen, dass zwei Excel-Dateien miteinandern verglichen werden. In der ersten _
Datei kann ich Filtern. Dadurch wähle ich sozusagen aus welche Einträge in der Montageanweisung _ später noch vorhanden sein sollen. Alle einträge die nicht benötigt werden, werden durch löschen der Zeile entfernt. Dies funktioniert auch einwandfrei. Mich stört nun aber noch, dass ich durch das hin un her Schalten zwischen den beiden Excel-Dateien ein "flackern" erzeuge. Ich dachte eigentlich ich könnte dies mit

'Application.ScreenUpdating = False

unterdrücken. Das funktioniert soweit auch und der Code ist spührbar schneller. Leider _
funktioniert das Löschen der Zeilen in der Montageanweisung dann aber nicht richtig. Die Bilder _
die in den Zellen sind werden dann nur klein gedrückt und nicht wie zuvor mit der Zeile gelö _
scht. Gibt es eine bessere Methode zwischen den beiden Arbeitsmappen hin und her zuschalten (im Hintergrund) als
.Activate
?
Ich wäre euch sehr dankbar für Hilfe.
Gruß
Dominik

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Datein Zeile für Zeile vergleichen
19.10.2017 19:28:14
onur
Du brauchdst eigentlich nix zu aktivieren, solange du IMMER die komplete korrekte Bezeichnung benutzt, wie z.B.:

Workbooks("Montageanweisung.xls").Sheets("Montageanweisung").usw usw

Anzeige

111 Forumthreads zu ähnlichen Themen


Hallo zusammen,
wie kann ich einen Bereich einer Tabellen markieren, kopieren und in einem anderen Tabellenblatt über "Inhalte einfügen" und "verknüpfen" automatisch mit jeder zweiten Zeile als Leerzeile versehen, ohne das die Verknüpfung verrutscht?
Danke im Voraus und Grüße,
Ulr...
Anzeige

Hallo und Guten Abend Zusammen!
Mit folgendem Code
Sub Zeilen_formatieren() Sheets("DATEN").Activate Range("A14:K65536").Select For Zeile = 1 To Selection.Rows.Count If Zeile Mod 2 > 0 Then Selection.Rows(Zeile).Interior.ColorIndex = 15 End If Next Zeile End Sub
kann ich jede z...

Hallo zusammen
Habe da noch eine Frage.
In Excel kann man doch jede 2. Zeile anders darstellen, so dass das lesen von grossen Dateien einfacher wird.
z.B. 1. Zeile weiss, 2. Zeile hellgrün, 1. Zeile weiss, 3 wieder hellgrün usw.
Hemm weiss jemand noch wie das automatisiert geht?...
Anzeige

Guten Morgen, ich hoffe das Wetter bei euch ist etwas besser als bei mir !
Ich möchte per VBA über einen Button von der Zeile 8 bis zur Zeile 1000 jede zweite Zeile ausblenden und über einen anderen Button wieder einblenden.
Wie lautet der Code dafür?
Danke für eure Bemühungen im Vo...

Hallo liebe Herber-Gemeinde,
ich habe ein Problem: elend Lange Tabelle, wo ich die 1., 3., 5. Zeile usw. löschen muss.
Kann mir jemand mit einem VB-Befehl aushelfen, der jede 2. Zeile der Tabelle löscht?
Ich wäre suuperhappy! Habt vielen Dank im Voraus! :-)

Hallo,
aus diesem Forum habe ich unten stehendes Makro gefischt.
Funktioniert soweit alles, nur sobald durch AutoFilter die Auswahl verändert wird,
gerät natürlich alles durcheinander. Mit einer bedingten Formatierung möchte ich es ungern
lösen, mir ist eine reine VBA Lösung li...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige