HERBERS Excel-Forum - das Archiv
Ereignis "BeforeSave" - ".Find" geht nicht?
Oliver

Guten Morgen zusammen,
Ich lasse über das Ereignis "BeforeSave" mit folgendem Code abfragen, ob der Benutzer zu einer gewissen Gruppe gehört. Bei bestimmten Gruppen wird das speichern nämlich verhindert!
<<


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
dim Gru as string
Gruppen Gru
End Sub


>>
<<
Sub Gruppen(Gru as string)
dim ws_akt as object: ws_akt = activesheet
dim cf1 as range: Set cf1 = ws_akt.range("A:A").find("Gruppe",LookIn:=xlValues,LookAt:=xlwhole)
Gru = ws_akt.cells(cf1.row,2)
End Sub


>>
Wenn ich die Variable Gru aus dem Modul Gruppe an einer anderen Stelle füllen lasse, dann klappt es. Nur nicht, wenn ich über das Ereignis "BeforeSave" komme.
Hat hier jemand eine Idee, wie man das lösen könnte? Ich möchte mich nicht festlegen auf "cells(3,2)".
Gruß,
Oliver.

AW: Ereignis "BeforeSave" - ".Find" geht nicht?
Andi

Hi,
Du weist der Variable Gru im BeforeSave-Ereignis überhauptkeinen Wert zu, sondern deklarierst sie nur.
Schönen Gruß,
Andi

AW: Ereignis "BeforeSave" - ".Find" geht nicht?
Oliver

Hallo Andi,
das ist soweit erstmal richtig. Die Variable Gru wird dann über das Modul Gruppe gefüllt. Und im weiteren Verlauf von "BeforeSave" wird Gru dann verwendet. VBA bringt als Fehlermeldung bei "Set cf1=..." Laufzeitfehler 91 "Objektvariable oder With-Blockvariable nicht festgelegt.

AW: Ereignis "BeforeSave" - ".Find" geht nicht?
Horst

Hi,
falsch: dim ws_akt as object: ws_akt = activesheet
richtig: dim ws_akt as Worksheet: Set ws_akt = activesheet
mfg Horst