Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
09.07.2020 09:58:01 |
Josef |
|
|
|
09.07.2020 15:32:59 |
Gast89335 |
|
|
Wechselseitige syncronisierung identischer Tabellen in zwei Dateien, mit VBA |
09.07.2020 16:33:48 |
Josef |
|
|
Von:
Josef |
Datum:
09.07.2020 16:33:48 |
Views:
658 |
Rating:
|
Antwort:
|
Thema:
Wechselseitige syncronisierung identischer Tabellen in zwei Dateien, mit VBA |
ES LEBT!
Für meine Leidensgenossen nun eine Zusammenfassung:
Ziel: Eine identische Tabelle (hier nur die Spalten A-S) in zwei Arbeitsmappen. Hierbei war die Problemstellung, dass Änderungen in beiden Dateien übernommen werden. Dies geschiet unabhängig davon in welcher Datei die Änderung vorgenommen wird.
Der Code wird in der zu übernehmenden Tabelle hinterlegt und nicht wie Anfangs von mir angenommen in der Arbeitsmappe. Dies geschieht natürlich in beiden Dateien!
-
Code: Alles auswählen
-
[u]'Für die erste Datei "AM1_test":[/u]
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ext_wb As Workbook
If Not Intersect(Target, Columns("A:S")) Is Nothing Then 'Hier werden die Spalten "A-S" auf Änderungen geprüft.
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "\AM2_test.xlsm") 'Hier muss die andere Datei als Pfad angegeben werden "\AM2_test.xlsm" (gleicher Ordner)
ext_wb.Worksheets("offene Punkte").Range(Target.Address) = Target.Value 'Hier wird der Name des Reiters der Tabelle angegeben "offene Punkte"
Call ext_wb.Close(SaveChanges:=True)
Set ext_wb = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
[i]'Für die zweite Datei "AM2_test":[/i]
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ext_wb As Workbook
If Not Intersect(Target, Columns("A:S")) Is Nothing Then 'Hier werden die Spalten "A-S" auf Änderungen geprüft.
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set ext_wb = Workbooks.Open(ThisWorkbook.Path & "\AM1_test.xlsm") 'Hier muss die andere Datei als Pfad angegeben werden "\AM1_test.xlsm" (gleicher Ordner)
ext_wb.Worksheets("offene Punkte").Range(Target.Address) = Target.Value 'Hier wird der Name des Reiters der Tabelle angegeben "offene Punkte"
Call ext_wb.Close(SaveChanges:=True)
Set ext_wb = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Einen großen Dank nochmal an Nepumuk!
|
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
09.07.2020 09:58:01 |
Josef |
|
|
|
09.07.2020 15:32:59 |
Gast89335 |
|
|
Wechselseitige syncronisierung identischer Tabellen in zwei Dateien, mit VBA |
09.07.2020 16:33:48 |
Josef |
|
|