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

Tabellen über Makro zusammenführen

Tabellen über Makro zusammenführen
14.06.2016 07:48:24
Philipp
Ich hab ein Problem mit Excel 2010 bzw einem Makro wo ich keine Ahnung habe das zu realisieren.
Es geht darum dass ich in einem Excelfile zwei Tabellen habe die wöchentlich upgedatet werden.
Damit ich mit den Daten arbeiten kann müssen diese beiden Tabellen in einer bestehenden dritten (final data) zusammengefasst werden.
Die erste Zeile (Überschrift) darf nicht übertragen werden.
Die erste Tabelle (dev data) hat die Spalten A-R befüllt
Die zweite Tabelle (inv data) die Spalten A-J
Die Zugehörigkeit der jeweiligen Zeilen in den beiden Tabellen ist über eine Nummer gegeben.
Diese Nummer ist in „dev data“ in Spalte A
In „inv data“ in Spalte B
Wenn die beiden Tabellen zusammengeführt wurden (also Zeile für Zeile) brauche ich jedoch zwischen den beiden Tabellen eine Spalte abstand.
Ab Spalte AA in der dritten Tabelle (final data) sind Formeln hinterlegt die auf die Daten der anderen Spalten zugreifen.
Ich kenn mich mit Makros absolut Null aus denke aber dass dies mit einem Makro am einfachsten zu erfüllen ist.
Kann mir da jemand von euch helfen?
Lg
phil

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Klärungsbedarf
14.06.2016 08:49:39
MB12
Hallo Phil,
Du schreibst:
"Wenn die beiden Tabellen zusammengeführt wurden (also Zeile für Zeile)"
1. sind das 3 verschiedene Dateien oder 3 Tabellenblätter in einer Datei?
2. sollen zuerst die Daten aus dev eingefügt werden und darunter die aus inv, und zwar jeweils ab Spalte A?
Denn wenn du ab Spalte AA in final data Formeln hinterlegt hast, kannst du hier keine Daten einkopieren, da dann die Formeln weg wären. Sonst müssten Spalten eingefügt werden, dann rutschen die Formeln nach rechts.
3. sind in final data bereits Überschriften drin?
Am besten wäre es, eine Beispieldatei mit 4-5 Datensätzen - anonymisiert, aber incl. der Formeln - hochzuladen mit dem gewünschten Ergebnis.
Gruß, Margarete

Anzeige
AW: Tabellen über Makro zusammenführen
14.06.2016 13:30:07
Philipp
Ich habe ein Testfile erstellt
kurz zur Erklärung:
alle Tabellen befinden sich in einem File
Die Tabelle "dev data" soll als erste in die Tabelle "final data" übertragen werden.
Danach die Tabelle "inv data" in die Tabelle "final data" wobei die einzelnen Zeilen zugehörig zu den Zeilen der zuvor importierten "dev data" zusammengesetzt werden müssen.
Die Zugehörigkeit der einzelnen Zeilen ist über die ID gewährleistet. diese ist in der Tabelle "dev data" die Spalte A, bei der Tabelle "inv data" die Spalte B.
Die Tabellen "dev data" und "inv data" werden über ein anderes System importiert. daher kann ich hier nichts ändern an Spaltenbezeichnung oder Abfolge
Die Tabelle "final data" hat vorgegebene Überschriften und Formeln die nicht verändert werden dürfen.
Die Tabelle "final data" im Testfile sieht so aus wie es im endeffekt sein sollte. wenn also in der Tabelle "inv data" keine passende ID zur "Dev data" gefunden wurde bleibt die Zeile hinten leer.
https://www.herber.de/bbs/user/106224.xlsx

Anzeige
@alle: INDEX VERGLEICH oder VBA?
14.06.2016 14:37:31
MB12
Hallo Phil, hallo alle,
muss jetzt mein Notebook plattmachen (neues Betriebssystem, bitte Daumen drücken).
Könnte jemand übernehmen?
DANKE SCHÖN
Gruß, Margarete

Mit VBA...
14.06.2016 16:37:26
Michael
Hallo Philipp!
Test mal (auf Basis Deiner Bsp-Datei):
Code muss in ein allgemeines Modul (in der XL-Mappe Alt + F11 aufrufen, Einfügen - Modul, Code hineinkopieren)
Sub a()
'Daten aus 1. Quell-Blatt in Ziel-Blatt übertragen (nur Werte und Zahl-Formate)
'Daten aus 2. Quell-Blatt gemäß Identifikation (Spalte B) in Ziel-Blatt übertragen
'in passende Zeile zu den bereits kopierten Daten aus 1. Quell-Blatt
Dim Wb As Workbook
Dim WsQ1 As Worksheet
Dim rQ1 As Range
Dim WsQ2 As Worksheet
Dim WsZ As Worksheet
Dim rZ As Range
Dim f As Range
Dim fZ As Long
Dim clc
With Application
.ScreenUpdating = False
clc = .Calculation
.Calculation = xlCalculationManual
End With
Set Wb = ThisWorkbook
With Wb
Set WsQ1 = .Worksheets("dev data") '1. Quell-Blatt, ggf. anpassen
Set WsQ2 = .Worksheets("inv data") '2. Quell-Blatt, ggf. anpassen
Set WsZ = .Worksheets("final data") 'Ziel-Blatt, ggf. anpassen
End With
With WsQ1
Set rQ1 = .Range("A2:Q" & .Cells(.Rows.Count, 1).End(xlUp).Row)
rQ1.Copy
WsZ.Range("A2").PasteSpecial xlPasteValuesAndNumberFormats
End With
With WsQ2
For Each rZ In .Range("B2:B" & .Cells(.Rows.Count, 2).End(xlUp).Row)
With WsZ.Range("A2:A" & WsZ.Cells(WsZ.Rows.Count, 1).End(xlUp).Row)
Set f = .Find(rZ.Value, LookIn:=xlValues)
If Not f Is Nothing Then
fZ = f.Row
End If
End With
.Range("A" & rZ.Row & ":J" & rZ.Row).Copy
WsZ.Range("S" & fZ).PasteSpecial xlPasteValuesAndNumberFormats
Next rZ
End With
Set Wb = Nothing
Set WsQ1 = Nothing
Set rQ1 = Nothing
Set WsQ2 = Nothing
Set WsZ = Nothing
Set rZ = Nothing
Set f = Nothing
With Application
.ScreenUpdating = True
.Calculation = clc
End With
End Sub
Passt?
LG
Michael

Anzeige
AW: Mit VBA...
15.06.2016 10:50:52
Philipp
Hallo
Ich bekomm leider eine Fehlermeldung wenn ich das Makro ausführe :(
siehe Bilddatei
Userbild
lg
Phil

AW: Mit VBA...
15.06.2016 11:13:14
Philipp
NEIN!
ich muss mich entschuldigen.
es war mein Fehler bei der Testung des Makros.
ich habe übersehen dass ich teilweise doppelte Dateneinträge habe in der Testversion.
Es funktionirt prima.
HERZLICHEN DANK

Gern! LG und owT
15.06.2016 12:49:12
Michael

140 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige