Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Makroaufruf aus Formel heraus
zurück: in die Zelle wird nur letzter Wert vom String geschrieben weiter: Verknüpfungen dynamisch aktualisieren Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Andi3
Gast


Verfasst am:
03. Mai 2007, 22:27
Rufname:

Makroaufruf aus Formel heraus - Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Ich möchte aus verschiedenen Zellen einer Arbeitsmappe heraus über eine
Formel (Wenn) bei erfüllter Bedingung ein Makro aufrufen, das in die
jeweilige Zelle, aus der es aufgerufen wird das aktuelle Datum einträgt
und einigen anderen, relativ zu dieser Zelle adressierten Zellen
bestimmte Werte zuweist. Dazu habe ich die benutzerdefinierte Funktion
Aufruf1 benutzt, die das Makro1 aufrufen soll.
Function Aufruf1()
Call Makro1
End Function
____________________________________________________________________
Sub Makro1()
ActiveCell.Value = Date
ActiveCell.Offset(RowOffset:=0, ColumnOffset:=-5).Value = "n"
ActiveCell.Offset(RowOffset:=0, ColumnOffset:=-4).ClearContents
ActiveCell.Offset(RowOffset:=0, ColumnOffset:=-2).Value = 3
End Sub

Dabei erhalte ich folgende Fehlermeldung:
Microsoft Office Excel kann eine Formel nicht berechnen. Es gibt einen
Zirkelbezug in einer geöffneten Arbeitsmappe, aber in diesem Fall können
die Bezüge, durch die der Zirkelbezug entsteht, nicht angezeigt werden.
Versuchen Sie die letzte eingegebene Formel zu bearbeiten oder entfernen
Sie sie mit dem Befehl `Rückgängig´(Menü `Bearbeiten´)

Ausgegeben wird in die aktive Zelle der Wert 0 (Datum 00.01.1900). Die
weitere Abarbeitung wird aber abgebrochen , d.h. den anderen Zellen
werden ihre Werte nicht zugewiesen.
Wird das Makro1 über den Makroaufruf Alt+F8 Ausführen "per Hand"
aufgerufen funktioniert es unabhängig von der jeweils aktiven Zelle
einwandfrei.
Wo liegt mein Denkfehler?
Jan3
Excel-Kenner(mit VBA)


Verfasst am:
04. Mai 2007, 05:50
Rufname:


AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Hi,

Über ein Ereibniscode im Tabellenblatt müßte es klappen. Z.B nach jeder Änderung des jeweiligen Tabellenblattes wird überprüft, ob eine bestimmte Bedingung erfüllt ist, um dann das eigentliche Makro aufzurufen.


Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If B1 = "OK" Then
Call Makro1
End If
End Sub






Jan
Bamberg
Excel/Access mit VBA


Verfasst am:
04. Mai 2007, 08:07
Rufname: Gerd

AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Hallo Andi,

vorsichtig mit dem Worksheet_Change Ereignis bei dieser Funktion.

Es kann gut sein, dass Du damit Deine komplette Tabelle zerschießt.

Besser Du nutzt das Workbook_Open Ereignis und füllst die entsprechenden Zellen beim Öffnen der Mappe "einmalig".

Code zur Arbeitsmappe:
Code:
Private Sub Workbook_Open()
Dim Zelle As Range

Set Zelle = ThisWorkbook.Worksheets("Tabelle1").Range("G1")

Zelle.Value = Date
Zelle.Offset(0, -5).Value = "n"
Zelle.Offset(0, -4).ClearContents
Zelle.Offset(0, -2).Value = 3

Set Zelle = Nothing
End Sub


Die Angaben zur Zelle musst Du anpassen.

Gruß
Gerd

_________________
NIPSILD = Nicht In Problemen, Sondern In Lösungen Denken
Andi3
Gast


Verfasst am:
04. Mai 2007, 09:35
Rufname:

AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Hallo Jungs,
zunächst erst einmal herzlichen Dank für Eure schnellen Tipps.
Ich muss das Makro aber starten, wenn in Zelle ZS eine Bedingung erfüllt ist. Dann soll in ZS das Datum (einmalig) eingetragen und der restliche Kram erledigt werden.
Dabei können verschiedene Zellen des Tabellenblattes ZS sein.
Änderungen in anderen Zellen sollten eigentlich keinen Makrostart auslösen.

Gruß

Andi3
Thomas Ramel
Microsoft Excel-MVP


Verfasst am:
04. Mai 2007, 11:08
Rufname: Thom
Wohnort: Glashütten - CH

AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Grüezi Andi

Aus einer Formel heraus kannst/darfst Du keine anderen Zellen manipulieren, sondern nur einen Rückgabewert an die aufrufende Zellen liefern.
Alles andere hätte eine Endlosschleife im Berechnungsbaum von Excel zur Folge.

Grenze also im Worksheet_Change() den Range ein in dem reagiert werden soll (mit Intersect() ) und nimm dann dort die Vergleiche und Eintragungen in die anderen Zellen vor.

Wenn die Eingrenzung sauber gemacht ist und Du während des Abarbeitens die weiteren Ereignisse deaktiverst ist das Ganez sehr gut handlebar.

_________________
Mit freundlichen Grüssen

Thomas Ramel
[Vista Ultimate SP-1 / xl2007 SP-2]
Andi3
Gast


Verfasst am:
04. Mai 2007, 11:34
Rufname:

AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Hallo Thomas,
vielen Dank für Deinen Hinweis.
Im Prinzip ist mir das schon klar. Mein Gedankengang war folgender:
In der Zelle ZS steht die Formel:
=WENN(Bedingung;Makroaufruf;"")
Das bei erfüllter Bedingung aufgerufene Makro trägt in die Zelle ZS das aktuelle Datum ein (überschreibt damit die Formel) und übergibt an andere Zellen bestimmte Werte.
(sh. oben).
Das funktioniert auch soweit prima, solange ich das Makro per Hand aufrufe.
Könnte es etwas bringen, wenn ich für die Dauer der Makrobearbeitung das automatische Aktualisieren ausschalte?

Andi3
Thomas Ramel
Microsoft Excel-MVP


Verfasst am:
04. Mai 2007, 11:45
Rufname: Thom
Wohnort: Glashütten - CH

AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Grüezi Andi

Nochmals in aller Klarheit:

Eine Funktion die aus einer Zelle heraus aufgerufen wird, kann und darf nur einen Rückgabewert an die aufrufende Zelle liefern.

Alle anderen Aktionen werden von Excel unterbunden, das kannst Du nicht umgehen.


Weiche daher auf das Change()-Ereignis aus und rufe das Makro und den Vergleich von daher auf.

_________________
Mit freundlichen Grüssen

Thomas Ramel
[Vista Ultimate SP-1 / xl2007 SP-2]
Andi3
Gast


Verfasst am:
04. Mai 2007, 12:54
Rufname:


AW: Makroaufruf aus Formel heraus - AW: Makroaufruf aus Formel heraus

Nach oben
       Version: Office 2003

Hallo Thomas,
o.k. Problem verstanden.
Werde Deine Tipps einarbeiten. Jetzt muss ich mich aber erst mal ausklinken - der Job ruft!
Vielen Dank und schönes Wochenende!

Andi3
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Formel gesucht!!! Part II 1 Kimbolaysen 596 10. Mai 2004, 13:23
xyzdef Formel gesucht!!! Part II
Keine neuen Beiträge Excel Formeln: hife wenn formel?, zahlen codieren komm nicht weiter 2 Gast 1804 07. Mai 2004, 11:22
Gast hife wenn formel?, zahlen codieren komm nicht weiter
Keine neuen Beiträge Excel Formeln: WENN IDENTISCH Formel oder so 5 JanJ 2398 01. Mai 2004, 19:12
Amethyst WENN IDENTISCH Formel oder so
Keine neuen Beiträge Excel Formeln: suche ne formel mit bestimmten abhängigkeiten 6 pipi 3131 26. Apr 2004, 13:39
pipi suche ne formel mit bestimmten abhängigkeiten
Keine neuen Beiträge Excel Formeln: Für EXCEL-PROFIS: Formel für Zahlentreffer 1 onkelbobby 2722 20. Apr 2004, 12:21
Gast Für EXCEL-PROFIS: Formel für Zahlentreffer
Keine neuen Beiträge Excel Formeln: Formel über Blätter 7 akm197 bzw akm1978 2613 08. Apr 2004, 12:38
peb Formel über Blätter
Keine neuen Beiträge Excel Formeln: wenn formel wird zu lang und nicht mehr anerkannt 2 merdin 1602 31. März 2004, 07:34
steve1da wenn formel wird zu lang und nicht mehr anerkannt
Keine neuen Beiträge Excel Formeln: Formel Gesucht 5 Gast 2309 22. März 2004, 07:39
peb Formel Gesucht
Keine neuen Beiträge Excel Formeln: Formel Tabellenübergreifend? 3 Gast 2320 16. März 2004, 09:39
Dick Formel Tabellenübergreifend?
Keine neuen Beiträge Excel Formeln: suche excel formel: 1 philologe 2001 04. März 2004, 14:16
steve1da suche excel formel:
Keine neuen Beiträge Excel Formeln: Suche Formel für die Berechnung eines Punktesystems 3 Akira Yuki 2411 29. Feb 2004, 00:28
xpecidy Suche Formel für die Berechnung eines Punktesystems
Keine neuen Beiträge Excel Formeln: Datum in Formel 4 Dr.I.M.Friendly 895 11. Feb 2004, 10:26
Dr.I.M.Friendly Datum in Formel
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum