Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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

Bei speichern Tabellenblatt aus anderer Datei

Bei speichern Tabellenblatt aus anderer Datei
27.05.2013 20:04:10
Ben
Hallo,
ich habe zwei Excel Dateien.
Datei 1 wird täglich ein neues Tabellenblatt mit dem Datum von heute erstellt.
Datei 2 soll sich dieses Tabellenblatt automatisch kopieren und alle 5 Minuten aktualisieren.
Ich habe schon etwas gegoogelt, dass Passende jedoch noch nicht gefunden.
LG
Ben

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei speichern Tabellenblatt aus anderer Datei
28.05.2013 12:46:57
UweD
Hallo Ben
Hier mal eine Musterdatei musst zu noch anpassen.
https://www.herber.de/bbs/user/85558.xlsm
Ich habe angenommen, dass die Tabellen so benannt sind "ABC 28.05.2013"
darin ist folgender Code eingebaut.

Option Explicit
Private NextTime As Double
Sub AutoUpdate()
On Error GoTo Fehler
Dim WB1, WB2, TB1, TB2, i%
Dim Datumformat$, LogTab
Dim Pfad$, Datei$, Pre$
Dim NextInst
Set WB1 = ActiveWorkbook
Set TB1 = ActiveSheet
' *****anpassen!!!
LogTab = "LOG"
Datumformat = "DD.MM.YYYY"
Pfad = "C:\Temp\"
Datei = "Datei2.xlsx"
Pre = "ABC " ' evt. vorangestellter Zusatz der Tabellennamen
Application.ScreenUpdating = False
For i = 1 To WB1.Sheets.Count ' prüfen, ob aktueller Tag schon da
If WB1.Sheets(i).Name = Pre & Format(Date, Datumformat) Then 'löschen, wenn schon da
Application.DisplayAlerts = False
WB1.Sheets(i).Delete
Application.DisplayAlerts = True
Exit For
End If
Next
Workbooks.Open Filename:=Pfad & Datei
Set WB2 = ActiveWorkbook
For i = 1 To WB2.Sheets.Count
If WB2.Sheets(i).Name = Pre & Format(Date, Datumformat) Then
WB2.Sheets(i).Copy After:=WB1.Sheets(Sheets.Count)
WB1.Sheets(LogTab).Activate
ActiveSheet.Range("A1") = "Letztes Update: " & Format(Now, "DD.MM.YYYY hh:mm:ss" _
)
Exit For
End If
Next
Workbooks(Datei).Close SaveChanges:=False
'Wiederholung starten
StartAutoUpdate
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.DisplayAlerts = True
End Sub
Sub StartAutoUpdate()
'NextTime = Now + TimeSerial(0, 5, 0) '5 min
NextTime = Now + TimeSerial(0, 0, 20) 'zum Testen 20 Sekunden
Application.OnTime NextTime, "AutoUpdate"
End Sub
Sub StoppAutoUpdate()
Application.OnTime NextTime, "AutoUpdate", Schedule:=False
End Sub
Gruß Uwe

Anzeige
AW: Bei speichern Tabellenblatt aus anderer Datei
28.05.2013 13:52:52
UweD
Hallo nochmal
Hier eine Fehlerbereinigte Version

Option Explicit
Private NextTime As Double
Sub AutoUpdate()
On Error GoTo Fehler
Dim WB1, WB2, TB1, TB2, i%
Dim Datumformat$, LogTab
Dim Pfad$, Datei$, Pre$
Dim NextInst
Set WB1 = ActiveWorkbook
Set TB1 = ActiveSheet
' *****anpassen!!!
LogTab = "LOG"
Datumformat = "DD.MM.YYYY"
Pfad = "C:\Temp\"
Datei = "Datei2.xlsx"
Pre = "ABC " ' evt. vorangestellter Zusatz der Tabellennamen
Application.ScreenUpdating = False
For i = 1 To WB1.Sheets.Count ' prüfen, ob aktueller Tag schon da
If WB1.Sheets(i).Name = Pre & Format(Date, Datumformat) Then 'löschen, wenn schon da
Application.DisplayAlerts = False
WB1.Sheets(i).Delete
Application.DisplayAlerts = True
Exit For
End If
Next
Workbooks.Open Filename:=Pfad & Datei
Set WB2 = ActiveWorkbook
For i = 1 To WB2.Sheets.Count
If WB2.Sheets(i).Name = Pre & Format(Date, Datumformat) Then
WB2.Sheets(i).Copy After:=WB1.Sheets(WB1.Sheets.Count)
WB1.Sheets(LogTab).Activate
ActiveSheet.Range("A1") = "Letztes Update: " & Format(Now, "DD.MM.YYYY hh:mm:ss")
Exit For
End If
Next
Workbooks(Datei).Close SaveChanges:=False
'Wiederholung starten
StartAutoUpdate
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.DisplayAlerts = True
End Sub
Sub StartAutoUpdate()
'NextTime = Now + TimeSerial(0, 5, 0) '5 min
NextTime = Now + TimeSerial(0, 0, 20) 'zum Testen 20 Sekunden
Application.OnTime NextTime, "AutoUpdate"
End Sub
Sub StoppAutoUpdate()
On Error Resume Next
Application.OnTime NextTime, "AutoUpdate", Schedule:=False
End Sub
Gruß UweD

Anzeige
AW: Bei speichern Tabellenblatt aus anderer Datei
31.05.2013 17:42:33
Ben
Hallo Uwe,
vielen Dank für deine Hilfe, werde es testen sobald ich wieder an der Arbeit bin, habe leider keine Dateien hier.
Liebe Grüße
Ben :)

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige