AW: Werte fortlaufend sichern - VBA
12.12.2016 08:11:23
Rainer
Hallo Uwe,
vielen Dank für deine Erläuterungen.
Wenn ich Import!B7 von Hand ändere, dann wechselt es nicht zum EXPORT Sheet, aber er kopiert die Daten wie es sein soll. Nur wenn folgendes Makro den Import durchführt: (Sub Start () wird nur einmal per Button gestartet um den Dateipfad zu laden. Sub Einlesen() ist der Import, welcher auch das aktuelle Dateiänderungsdatum und Zeit nach Import!B7 schreibt. Sub Stopp_Click() ist ein dritter Button, welcher das Einlesen abbricht.)
Option Explicit
Public Datei(2) As String
Public SpeicherZeit(2) As Date
Public B7
Public BolStop As Boolean
Sub Start()
'starten BEVOR das Messen beginnt
Dim i As Integer
Datei(0) = Range("B2")
Datei(1) = Range("B3")
Datei(2) = Range("B4")
For i = 0 To 2
SpeicherZeit(i) = FileDateTime(Datei(i))
Next i
BolStop = False
End Sub
Sub Einlesen()
Dim i As Integer
Dim WB As Workbook
Dim Import As Worksheet
Dim Sp()
Dim LR
Set Import = ThisWorkbook.Sheets("Import")
Debug.Print "neu"
Sp = Array(2, 5, 8)
Application.ScreenUpdating = False
For i = 0 To 2
If FileDateTime(Datei(i)) > SpeicherZeit(i) Then
Set WB = Workbooks.Open(Datei(i), , , , , , , , ",")
LR = WB.Sheets(1).Cells(Rows.Count, "A").End(xlUp).Row
WB.Sheets(1).Range(WB.Sheets(1).Cells(1, 1), WB.Sheets(1).Cells(LR, 2)).Copy Import. _
_
Cells(8, Sp(i))
Import.Cells(6, Sp(i)) = WB.Sheets(1).Name
Import.Cells(7, Sp(i)) = FileDateTime(Datei(i))
SpeicherZeit(i) = FileDateTime(Datei(i))
WB.Close
Set WB = Nothing
End If
DoEvents
If BolStop = True Then Exit Sub
Next i
If Import.Cells(1, 1) = 0 Then Application.OnTime Now + TimeValue("00:00:02"), "Einlesen"
BolStop = False
Application.ScreenUpdating = True
End Sub
Sub Stopp_Click()
BolStop = True
End Sub
Ich kann hier aber kein "active" oder "select" entdecken.
Viele Grüße,
Rainer