Datei schon offen
01.06.2005 11:46:35
Werner
Mit diesem Code lasse ich Daten von der Datei "Produktionsübersicht.xls" in die Datei "Datens.xls" durch klick auf dem CommandButton2 schreiben.
Die Datei "Datens.xls" liegt auf dem Netzwerk und es wird von mehreren Usern in die Datei gespeichert. Wenn die Datei aber offen ist, gibt es einen Fehler.
Ist es möglich da noch eine Abfrage reinzubringen, wenn die Datei offen ist. Entweder das Makro dann nicht ausführen, so lange die Datei nicht geschlossen ist oder mit einer MsgBox darauf hinweisen, das der Vorgang noch mal wiederholt werden muß, weil die Datei gerade in bearbeitung ist.
Private Sub CommandButton2_Click()
Dim Abgang
Dim SFT As Range
Dim ZFT As Range
If Abgang = 1 Then
Abgang = MsgBox("Sollen die Daten jetzt gesichtert werden ?", vbOKCancel + vbCritical)
Workbooks.Open Filename:="\\Eise-fs01\vol1\Projekte\Produktionsuebersicht\Übungsdateien\Datens.xls"
Sheets("Datensammler").Activate
Set ZFT = Sheets("Datensammler").[A2]
While ZFT <> ""
Set ZFT = ZFT.Offset(1, 0)
Wend
Windows("Produktionsübersicht.xls").Activate
Sheets("Eingaben").Activate
Range("A5").Select
Set SFT = Sheets("Eingaben").[A5]
While SFT <> ""
For i = 0 To 30
ZFT.Offset(0, i) = SFT.Offset(0, i)
Next
Set SFT = SFT.Offset(1, 0)
Set ZFT = ZFT.Offset(1, 0)
Wend
Windows("Datens.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
Sheets("Eingaben").Activate
Range("A4").Select
Set SFT = Sheets("Eingaben").[A5]
While SFT <> ""
For i = 0 To 30
SFT.Offset(0, i) = ""
Next
Set SFT = SFT.Offset(1, 0)
Wend
Sheets("Eingaben").Activate
Range("A4").Select
End If
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Werner