kann mir jemand bei diesem Makro von Hajo weiterhelfen?
Das Makro funktioniert in der erstellten Arbeitsmappe problemlos.
Ich habe das komplette Makro (siehe unten) in meine Anwendung ins VBA Projekt DieseArbeitsmappe kopiert.
Jetzt meckert mir aber das Makro beim öffnen der Arbeitsmappe mit folgender Fehlermeldung: Datei nicht gefunden: VBA6.DLL
Wo liegt der Fehler und was mache ich falsch?
Ich muß noch dazu sagen, das die Datei im Gruppenlaufwerk auf einem Netzwerk liegt.
Option Explicit
Dim InI As Integer
Dim ByS As Boolean
' erstellt von Hajo.Ziplies@web.de 25.09.03, 18.10.03
' http://home.media-n.de/ziplies/
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' blendet alle anderen Register mit
' Sheets("Tabelle2").Visible = xlVeryHidden aus, außer Tabelle1
Dim Mldg As Byte
If ActiveWorkbook.Saved Then ' Datei wurde verändert
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Save
Else
If ByS = True Then Exit Sub
Mldg = MsgBox(" Sollen die Veränderungen gespeichertg werden ?", _
vbYesNo + vbQuestion, "Speicher abfrage ?", "", 0)
If Mldg = 6 Then
Application.ScreenUpdating = False
Sheets("Tabelle1").Visible = True
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "Tabelle1" Then Sheets(InI).Visible = xlVeryHidden
Next InI
ByS = True
ThisWorkbook.Save
Application.ScreenUpdating = True
Else
ByS = True
ThisWorkbook.Close False
End If
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ByS = False Then
Cancel = True
MsgBox "Datei kann nur beim schliessen gespeichert werden"
End If
End Sub
Private Sub Workbook_Open() hier wird gemeckert
With Sheets("xyz")
If .Range("A1") = "" Then .Range("A1") = Date + 30
If Year(Date) >= Year(.Range("A1")) And Month(Date) >= Month(.Range("A1")) And _
((Day(Date) > Day(.Range("A1")) And Month(Date) = Month(.Range("A1"))) Or _
Month(Date) > Month(.Range("A1"))) Then
MsgBox "Ihre Testphase ist abgelaufen," _
& vbCr & "bitte wenden Sie sich an Ihren Administrator."
ActiveWorkbook.Close savechanges:=False
End If
End With
Application.ScreenUpdating = False
For InI = Sheets.Count To 1 Step -1
If Sheets(InI).Name <> "xyz" Then Sheets(InI).Visible = True
Next InI
Sheets("Tabelle1").Visible = False
Sheets("xyz").Visible = True
ActiveWorkbook.Saved = True
Application.ScreenUpdating = False
End Sub
' Füge ein neues Register ein und schreibe groß drauf "Makro wurden nicht aktiviert"
' in
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' blendest Du alle anderen Register aus
' Das Ausblenden hat den Vorteil das die Register nur über VBA eingeblendet werden können
' und nicht über Format, Blatt, Einblenden.
' VBA Projekt schützen
kann mir da von Euch einer weiterhelfen?
vielen vielen dank erst einmal im vorraus
Gruß Andreas