Speicherung aus WENN Formel

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Speicherung aus WENN Formel
von: Rolf
Geschrieben am: 17.06.2002 - 10:25:57

Hi,Leute
Ich speichere meine Mappe periodisch
mit Klicken auf Schaltflaeche-es wird Makro"Datensicherung"
aufgerufen und es laeuft gut.
Jetzt wollte ich die Sache automatisieren und das Makro
aus Formel WENN aufrufen leider klappt es nicht.
=WENN(A1=WAHR);CallDatensicherung();"")
Was ist falsch?
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: Andreas
Geschrieben am: 17.06.2002 - 11:20:49

Hallo Rolf,

also das Makro Datensicherung sollte in etwa so aussehen und in einem Modul stehen:

Public Function Datensicherung()
'hier Dein Speicherbefehl
Datensicherung = "" 'kannst auch was anderes an die Zelle zurückgeben!
End Function

Die korrekte Formel für die Zelle wäre dann so:
=WENN(A1=WAHR;Datensicherung();"")

Viel Spaß,
Andreas

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: an Andreas
Geschrieben am: 17.06.2002 - 13:40:47

Hallo,Andreas
ich habe dein Makro ausprobiert-es klappt leider nicht.
In der WENN Formel muss was stehen was mein Makro "Datensicherung" aufruft ,weil dort steht der Befehl zum
speichern,Adresse(Path).Von der schalflaeche geht es gut
jedoch von der Formel bekomme ich Meldung-#WERT..
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: Andreas
Geschrieben am: 17.06.2002 - 14:12:31

Hallo Rolf,

passe Dein Makro Datensicherung so an wie ich es in meiner ersten Antwort gepostet habe! Dann klappt es!
Wichtig ist das die Function etwas zurückliefert, denn die Zelle erwartet ja einen Wert. Deswegen kommt bei Dir auch der Fehlerwert #WERT.

Also so sollte Dein Makro aussehen:

Public Function Datensicherung()
'hier Dein Speicherbefehl
Datensicherung = "" 'kannst auch was anderes an die Zelle zurückgeben!
End Function

Du kannst einfach Deinen bisherigen Code hineinkopieren!
Viel Spaß,
Andreas
nach oben   nach unten

Re: Speicherung aus WENN Formel
von: an Andreas
Geschrieben am: 17.06.2002 - 15:33:25

Hallo,Andreas
nein Anrdeas wie man es nicht dreht mein Makro
wird nicht aufgerufen.Wenn genau deine Loesung eingebe
kommt Meldung -Function oder Variable erwartet.
Es ist dochwohl etwas nicht declariert.
Kannst Du mir ein geprueften Beispiel geben wo
ein Makro aus WENN Formel aufgerufen wird?
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: Andreas
Geschrieben am: 18.06.2002 - 09:35:30

Hallo,

mein Beispiel ist getestet!
Also hier noch mal ein anderes Beispiel mit genauer Vorgehensweiser!
Also VBA-Editor öffnen und in ein neues Modul folgendes kopieren:

Public Function Makro1() As String
MsgBox "Hallo", , "Makro1"
Makro1 = "Makro1 ausgeführt"
End Function

In der Tabelle ist die Zelle A1 leer. In B1 trage nun folgende Formel ein:
=WENN(A1=1;Makro1();"")

Dann trage in A1 eine 1 ein, und das Makro wird ausgeführt!
Also bei mir klappt es sowohl unter 97 als auch 2000!
Wenn es bei Dir nicht klappt, dann schreibe die genaue Fehlermeldung und an welcher Stelle sie auftritt!

Viel Spaß,
Andreas

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: an Andreas
Geschrieben am: 18.06.2002 - 17:30:24

Hi,Andreas
alles ausprobiert -wirklich es kommt eine Box,
aber eine speicherung ausfuhren klappt nicht
sobald ich ein solches Makro einbinden will
wird eine Funktion verlangt oder Wert.
Es ist sehr schade wiel dann konnte man einiges
automatisch laufen lassen
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: Andreas
Geschrieben am: 19.06.2002 - 10:46:41

Hallo Rolf,

ja ist irgendwie komisch, das der Speicherbefehl nicht ausgeführt wird. Ich denke mal da Du auch in A1 eine Formel stehen hast, kann man nicht direkt über Worksheet_Change-Ereignis gehen.
Aber dieser kleine Umweg hat bei meinem Test funktioniert:

Also in ein Modul folgendes einfügen:

Option Explicit
Dim Schalter As Boolean

Public Function GetSchalter() As Boolean
GetSchalter = Schalter
End Function

Public Sub SetSchalter()
Schalter = False
End Sub

Public Function Datensicherung()
Schalter = True
Datensicherung = "" 'oder z.B. Datensicherung = "Gespeichert"
End Function

'!!! Und den nun folgenden Code zu der Tabelle, in der die Formel steht, eintragen!!!
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If GetSchalter() = True Then
    ThisWorkbook.Save
    SetSchalter
End If
End Sub

Die Formel in der Zelle lautet weiterhin:
=WENN(A1=WAHR;Datensicherung();"")

Viel Spaß,
Andreas

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: an Andreas
Geschrieben am: 19.06.2002 - 16:46:19

Hallo,Andreas
nett von Dir diese Code zu schreiben
ich werde intensiv testen die Sache.
Es muss eine einfache und stabile Lösung
geben Speichern nach Bedingung!
Ich habe eine Lösung Range(Change) die
eimal speichert ,anderes mal nicht.
Da dachte ich aus Wenn Formel.
Mehrere hatten schon diesen Gedanken leider
klappte es nicht.
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: an Andreas
Geschrieben am: 20.06.2002 - 10:11:17

Hallo,Andreas
Tut mir leid der Code arbeitet nicht
lassen wir es.
Rolf

nach oben   nach unten

Re: Speicherung aus WENN Formel
von: Andreas
Geschrieben am: 20.06.2002 - 11:29:30

Hallo Rolf,

ich habe Dir mal ne Beispielmappe gemailt, in der es definitv genau so geht! :-)

Andreas

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Speicherung aus WENN Formel"