Hallo an alle,
ich bin neu mit VBA unterwegs und bräuchte mal eure Hilfe.
Ich habe zwei unterschiedliche Arbeitsmappen/Dateien in denen aber jeweils eine Tabelle mit dessen Inhalten und idealerweise der Formatierungen (Verbundene Zellen, etc.) gleich sein sollen.
Nun kommt die große Problemstellung: Ich muss in beiden Arbeitsmappen an der Tabelle (mit Textinhalt, Datum, Zahlen) arbeiten können. Das heißt, dass sich die Tabellen in beide Richtungen/Arbeitsmappen synchronisiren müssen.
Hierbei muss evtl. auch der Zeitpunkt der Synchronisierung (Speichervorgang?) beachtet werden damit es zu keinen Konflikten kommt!?
Ich habe mal aus unterschiedlichen Beiträgen versucht erste Ansätze zu basteln was aber leider nicht funktioniert:
'Code für Datei 1 "AM1_test.xlsm"
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ext_wb As Workbook
If Not Intersect(Target, Columns(1:19)) Is Nothing Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "\AM2_test.xlsm")
ext_wb.Worksheets("offene Punkte").Range(Target.Address) = Target.Value
Call ext_wb.Close(SaveChanges:=True)
Set ext_wb = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
'Code für Datei 2 "AM2_test.xlsm"
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ext_wb As Workbook
If Not Intersect(Target, Columns(1:19)) Is Nothing Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "\AM1_test.xlsm")
ext_wb.Worksheets("offene Punkte").Range(Target.Address) = Target.Value
Call ext_wb.Close(SaveChanges:=True)
Set ext_wb = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Ich habe den Code bei der jeweiligen Arbeitsmappe unter "VBAProjekt (Dateiname.xlsm)" eingefügt.
Zum Testen habe ich eine der Dateien geöffnet, eine Änderung in der Tabelle "offene Punkte" durchgeführt und gespeichert.
Leider ohne programmseitige Reaktion bzw. Änderung in der anderen Datei.
Ich bin Anfänger mit VBA. Da ich mich hier noch sehr unsicher bewege, benötige ich bitte genauere Anweisungen als nur eine Codezeile oder den Verweis auf einen anderen Befehl. Danke für euer Verständnis!
Erkennt jemand den Fehler oder hat eine Idee?
Mit Dank im Vorraus
Gruß Josef
|