Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_BeforeSave will nicht gehen?! Fehler?

Worksheet_BeforeSave will nicht gehen?! Fehler?
31.08.2004 09:56:23
Markus
Hallo zusammen,
Schön das es noch hilfsbereite Menschen gibt, von denen man noch was lernen kann. Ich frag mich nur wieso folgendes Listing nicht funktioniert. Könnt ja mal nene kurzen Blick drauf werfen?!
Es soll bewirken, daß bevor die Datei gespeichert wird (also über Speichern unter) die angegebenen Zellen auf Inhalt geprüft werden sollen.
Die Datei darf unter keinen Umständen gespeichert werden, wenn zu dem eingefügten Datum der dazu passende Name in der Zelle darunter fehlt.
Unter http://msd2004.tripod.com/ohne_daten.zip findet ihr ne Demo
und hier ein Bild http://msd2004.tripod.com/vba.htm.
Vielen Dank. Gruss Markus
vor dem before_beforesave ist noch ein Worksheet_Change. Ich denke dass dies die Funktion von Change nicht beeinflusst.
'

Private Sub Worksheet_Change(ByVal Target As Range)
' Inhalt

Private Sub Worksheet_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Application.EnableEvents = False
Select Case Target.Address
Case Cells(81, 17).Address
Cells(81, 28).Address
Cells(81, 39).Address
Cells(81, 50).Address
Cells(83, 6).Address
Cells(83, 17).Address
Cells(83, 28).Address
Cells(83, 39).Address
Cells(83, 50).Address
If Cells.Value = Date And Cells(Target.Row - 1, Target.Column) = " " Then
MsgBox "Arbeitsmappe kann nicht gespeichert werden! "
Cancel = True
Else
Cancel = False
End If
End Select
Application.EnableEvents = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_BeforeSave will nicht gehen?! Fehler?
Uduuh
Hallo,
so wie ich das sehe ist Target Nothing, hat also auch keine Address.
Ich vermute, du willst Target aus einem vorhergehenden Change-Ereignis verarbeiten. Definiere eine Public-Variable (Public tmpTarget as Range) und weise die im Worksheet_Change zu: Set tmpTarget=Target und ersetze in before_save Target durch tmpTarget.
Die Select Case Abfrage ist auch falsch.
Select case tnpTarget.Adrress(0,0)
Case "Q81", "AB81","AM81",....
If Cells.Value =Date .... -- Cells repräsentiert alle Zellen.
Ich vermute so: if tmpTarget.Value=Date and tmptarget.offset(-1,0).Value="" Then
Gruß aus'm Pott
Udo
Anzeige
AW: habs gemacht, aber versteh ich net so ganz
31.08.2004 13:37:04
Markus
Hallo,
Danke für die schnelle Antwort. Hab das versucht mal umzusetzen, was du gesagt hast. Folgende Fehlermeldung erscheint:
Zeile1:
Deklaration eintspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mir demselben Namen.

Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean, Datumeingabe As Range)
Application.EnableEvents = False
Public Datumeingabe As Range
Set Datumeingabe = Target
Select Case Datumeingabe.Address(0, 0)
Case "F81", "Q81", "AB81", "AM81", "AX81", "F83", "Q83", "AB83", "AM83", "AX83"
If Datumeingabe.Value = Date And Cells(Datumeingabe.Row - 1, Target.Column) = " " Then
MsgBox "Arbeitsmappe kann nicht gespeichert werden! "
Cancel = True
Else
Cancel = False
End If
End Select
Application.EnableEvents = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige