Sebb Oktober 24, 2018 Ich hab da ein Problem. Ich möchte gern per Makro 2 Tabellen vergleichen und in ein neues einfügen. Dort soll alles richtig geordnet sein und die Werte übernommen werden. Jetzt hab ich folgendes Makro, aber hier wird statt den Werten eine Farbe genommen. Werte sind leider nicht vorhanden. Und ich möchte gerne die 2 Tabellen anders auswählen, sonst muss ich immer das makro ändern. Kann mir hier jemand helfen?? Sub ArbeitsmappenVergleichen3() Dim wkbZiel As Workbook Dim wkbQuelle As Workbook Dim wksBlatt As Worksheet Dim rngZelle As Range Dim rngVglZelle As Range Set wkbQuelle = Workbooks.Open(ThisWorkbook.Path & "\111.xlsb") Set wkbZiel = Workbooks.Open(ThisWorkbook.Path & "\1111.xlsb") For Each wksBlatt In wkbQuelle.Worksheets For Each rngZelle In wksBlatt.UsedRange Set rngVglZelle = wkbZiel.Worksheets(wksBlatt.Name).Range(rngZelle.Address) If rngZelle.Value <> rngVglZelle.Value Then rngVglZelle.Interior.ColorIndex = 3 End If Next rngZelle Next wksBlatt End Sub Ich freu mich schon auf eure Hilfe Lieben Gruss Sebb Diesen Beitrag teilen Link zum Beitrag
Sebb Oktober 24, 2018 Hallo und zwar habe ich zu folgendem Makro eine Frage. Ich möchte gerne mehrere Tabellen in eine vorhandene Datei einfügen. Jetzt wird hier aber die Daten einfach nebeneinander geschrieben. Ich hätte gerne das er die werte vergleicht und unter einander schreibt. Funktioniert sowas?? Ich hoffe mir kann jemand helfen. Option Explicit Sub BlaetterZusammenkopieren() Dim objTargetWorksheet As Object Dim oSourceBook As Object Dim sPfad As String Dim sDatei As String Dim lErgebnisSpalte As Long Dim s As Long Dim z As Long Set objTargetWorksheet = ActiveSheet 'Application.ScreenUpdating = False Set objTargetWorksheet = ActiveSheet lErgebnisSpalte = 1 sPfad = "D:\Users\BKU\sebastianlenglein\Desktop\Test Excel\Neuer Ordner\test\" sDatei = Dir(CStr(sPfad & "*.xlsb")) Do While sDatei <> "" Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) For s = 1 To oSourceBook.Sheets(1).UsedRange.Columns.Count For z = 1 To oSourceBook.Sheets(1).UsedRange.Rows.Count objTargetWorksheet.Cells(z, lErgebnisSpalte).Value = _ oSourceBook.Sheets(1).Cells(z, s).Value Next z lErgebnisSpalte = lErgebnisSpalte + 1 Next s oSourceBook.Close False sDatei = Dir() Loop 'Application.ScreenUpdating = True Set objTargetWorksheet = Nothing Set oSourceBook = Nothing End Sub Diesen Beitrag teilen Link zum Beitrag
Relich Oktober 24, 2018 Hast du schon mal im Excelforum geschaut? Diesen Beitrag teilen Link zum Beitrag
Sebb Oktober 24, 2018 Ja hab aber leider nichts passendes gefunden... Diesen Beitrag teilen Link zum Beitrag
Oli Garch Oktober 24, 2018 vor 3 Stunden schrieb Sebb: Und ich möchte gerne die 2 Tabellen anders auswählen, sonst muss ich immer das makro ändern. Kann mir hier jemand helfen?? vielleicht erst einmal eine kleiner Schritt weiter: Wenn du die Objektvariablenzuweisung "Set" so vornimmst Set wkbQuelle = Workbooks.Open(Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xlsx),*.xlsb")) Set wkbZiel = Workbooks.Open(Application.GetOpenFilename("Micrsoft Excel-Dateien (*.xlsx),*.xlsb")) kannst due die Dateien immer neu auswählen. War das so gemeint? Diesen Beitrag teilen Link zum Beitrag
Sebb Oktober 24, 2018 · bearbeitet Oktober 24, 2018 von Sebb ja danke, das hilft mir ein wenig weiter. Aber bei dem Rest bin ich noch überfordert Diesen Beitrag teilen Link zum Beitrag
Oli Garch Oktober 24, 2018 Für meine bescheidenen VBA-Kenntnisse ist das vielleicht eine Nummer zu groß. Aber bei einer präzieseren Aufgabenstellung sieht ein versierterer VBA-Kenner (hier oder in einem Excelforum) deine Anfrage vielleicht als Herausforderung. Mir jedenfalls ist die Aufgabenstellung nicht ganz klar. Z.B. zu deiner ersten Anfrage: Ich vergleiche den Zellinhalt jede Zelle einer Tabelle mit dem Zellinhalt der jeweiligen Zelle an gleicher Position in einer anderen Tabelle? Was genau soll passieren, wenn a) der Zellinhalt gleich ist, b) der Zellinhalt ungleich ist? Handelt es sich um Zahlenwerte? Ist die Tabelle sortiert? Ist die Position der Werte in der Ergebnistabelle egal? Beispieltabellen wären da sinnvoll. Diesen Beitrag teilen Link zum Beitrag
silentbob Oktober 24, 2018 · bearbeitet Oktober 24, 2018 von silentbob Vielleicht eine Hilfe bzw. Unterstützung https://www.fernuni-hagen.de/imperia/md/content/zmi_2010/b012.pdf Teil1 vor 9 Stunden schrieb Sebb: Hallo und zwar habe ich zu folgendem Makro eine Frage. Ich möchte gerne mehrere Tabellen in eine vorhandene Datei einfügen. Jetzt wird hier aber die Daten einfach nebeneinander geschrieben. Ich hätte gerne das er die werte vergleicht und unter einander schreibt. Funktioniert sowas?? Im Grunde würde es so grob ablaufen (da mir keine detailliertern Infos vorliegen, wird der Vorgang grob beschrieben) : 1) Workbook/Sheet aktivieren 2) Zellen/Spalten speichern 3) Workbook/Sheet aktivieren 4) Werte vergleichen 5) Werte speichern 6) Neues Tabellenblat erstellen 7) Tabellenblatt aktivieren 8) Werte je Zeile einfügen Wenn du das anstatt je Spalte haben möchtest, dann schreib es einfach je Zeile. Wie du Zeilen ansprichst, kann dir das Handbuch helfen. Vielleicht hilft dir das. vor 9 Stunden schrieb Sebb: Option Explicit Sub BlaetterZusammenkopieren() Dim objTargetWorksheet As Object Dim oSourceBook As Object Dim sPfad As String Dim sDatei As String Dim lErgebnisSpalte As Long Dim s As Long Dim z As Long Set objTargetWorksheet = ActiveSheet 'Application.ScreenUpdating = False Set objTargetWorksheet = ActiveSheet lErgebnisSpalte = 1 sPfad = "D:\Users\BKU\sebastianlenglein\Desktop\Test Excel\Neuer Ordner\test\" sDatei = Dir(CStr(sPfad & "*.xlsb")) Do While sDatei <> "" Set oSourceBook = Workbooks.Open(sPfad & sDatei, False, True) For s = 1 To oSourceBook.Sheets(1).UsedRange.Columns.Count For z = 1 To oSourceBook.Sheets(1).UsedRange.Rows.Count objTargetWorksheet.Row(ErgebnisSpalte, z).Value = _ oSourceBook.Sheets(1).Cells(z, s).Value Next z lErgebnisSpalte = lErgebnisSpalte + 1 Next s oSourceBook.Close False sDatei = Dir() Loop 'Application.ScreenUpdating = True Set objTargetWorksheet = Nothing Set oSourceBook = Nothing End Sub Diesen Beitrag teilen Link zum Beitrag