wie synchronisiere ich zwei Excel Tabellen?
Hallo zusammen,
ich versuch grad 2 Tabellen zu synchronisieren kriege ich aber leider nicht hin.
Mann muss sich das so vorstellen :
in der ersten Tabelle sind Materialnummer die in der zweiten übernommen werden sollen.
Falls sich der Zelleninhalt ändert bzw. eine Zelle gelöscht oder eingefügt wird, soll genau das gleiche in Tabelle 2 auch passieren.
mit der Wenn-funktion hats leider nicht geklappt, befürchte schon fast das ich ein Makro brauche.
Hat jemand eine schlaue Lösung für das Problem?
Gruß Newb
6 Antworten

wenns Dich am 10. Tag noch interessiert: Du brauchst kein Makro dazu, das geht mit der Formel: (in B2 des Zielblattes Deiner Artikelnummern):
.
=INDIREKT("Herkunftsblatt!"&ADRESSE(ZEILE(B2);SPALTE(B2);1))
.
Diese Formel kannst Du überall hinkopieren, wo Du sie brauchst, also zB in die Spalte der Übernahme Deiner Artikelnummern auf die gesamte Länge, die benötigt wird.
Sie macht jede Löschung von Zeilen oder Zellen (oder Spalten) mit, da sie ihre Ansprech-Adresse aus dem Zielblatt bezieht. Auch verschieben im Zielblatt gibt den dann neuen Ort im Herkunftsblatt wieder, da die Zelle selbst ja die Parameter für die Adresse liefert.

Kurzer knapper Code, hättest Du auch mit dem Makro-Recorder aufzeihnen können:
Sub Synchron()
Application.DisplayAlerts = False
Sheets("Tabelle2").Delete
Sheets("Tabelle1").Copy after:=Sheets("Tabelle1")
Sheets("Tabelle1 (2)").Name = "Tabelle2"
Application.DisplayAlerts = True
End Sub

Hallo Leute ...
ich habe da auch mal eine Bitte und hoffe Ihr könnt diese für mich lösen, da ich mit Excel noch extrem auf dem Kriegsfuß stehe.
Ich habe eine Datenbank mit diversen Spalten und Zeilen = DB1.csv Und eine weitere mit auch einigen Spalten und Zeilen = DB2.csv
nun soll aus den DB1.csv die Spalte A komplette mit der DB2.csv Spalte A verglichen werden und wenn es Treffer gibt, soll nun aus der DB1.csv in die DB2.csv Spalte C, die Werte aus der DB1.csv Spalte X geschrieben werden !
Geht das ? Gibt es dafür ein Makro oder einen Code ? Vielen Dank vorab

Oder auch so:
Sub Synchron()
Application.DisplayAlerts = False
Sheets(2).Delete
Sheets(1).Copy after:=Sheets(1)
Sheets(2).Name = "Tabelle2"
Application.DisplayAlerts = True
End Sub
Ich gebe ja zu, dass es so nicht aufgezeichnet würde, aber schon sehr ähnlich: Du müsstest dann jedesmal die Löschung bestätigen.

öhm meinst du verschiedene Tabellenblätter? Dann musste einfach "=" drücken und Tabellenblatt 1 auf die gewünschte Zahl z. B =Tabelle2!A21

Hi,
ja, ich ein Excelblatt mit 2 Tabellenblätter oder besser gesagt Reiter. Das mit dem gleichheitszeichen kenne ich auch. I will aber das wenn ich in TAbelle eins eine Zeile oder ein Spalte lösche das gleiche in Tabelle 2 auch passiert.
halt wie ein spiegel-effekt.... mit dem "mit" wird das Problem nicht gelöst
Hallo Lamiam,
danke für die Formel, die auch gut funktioniert !!! :) ich hab aber am ende doch das makro hinbekommen aber die "indirekt" Formel werde ich zukünftig bestimmt noch gut gebrauchen können!
und übrigens das war der Code den ich brauchte :
Sub Kopieren()
Dim Zelle As Range Dim Wert As Variant
Wert = ActiveSheet.Range("J16:j17")
With Sheets("Tabelle2") For Each Zelle In .Range("F6:G6")
If ((Range("J16").EntireRow.Hidden = True) Or (Range("J16").EntireColumn.Hidden = True)) Or (Range("J16").Font.Strikethrough = True) Then
Zelle.Value = ActiveSheet.Range("J17") Else Zelle.Value = ActiveSheet.Range("J16")
End If Next Zelle End With End Sub
:) Danke nochmals !!
Gruß
p.s.: gleich kommt ne weitere frage vllt hast du ja wieder lust mir zu helfen...