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

makro durch formel starten

makro durch formel starten
SüßeMaus88
hallo, ich habe immer noch das problem mit dem makro, das starten soll wenn ein wert in A1 zB größer ist als 10
ein netter mensch hat mit hier im forum geschrieben ich soll es mit der formel versuchen :
=WENN(A1&gt10;Makrostart();"")
so das klappt zwar in der beispiel datei, aber bei mir in der excel tabelle nicht.
also das makro heisst "sortieren". muss ich in die klammer hinter makrostart einfach sortieren eintragen ? dann kommt nämlich ne fehlermeldung !
und wenn ich es in anführungszeichen schreibe kommt als meldung wenn der wert in a1 größer als 10 ist einfach nur in der zelle der text #NAME?
wäre super nett wenn mir jemand helfen könnte, musste mir das schon mit nachhause nehmen und der cheff will das am montag haben...
merci schon mal
AW: makro durch formel starten
Boris
Hi,
mehrere Dinge - zunächst mal:
https://www.herber.de/forum/archiv/404to408/t407829.htm#407838
"Kaum Excel/VBA-Kenntnisse" - stimmt das?
Wie kann Dein Chef dann sowas von Dir verlangen?
"also das makro heisst "sortieren". muss ich in die klammer hinter makrostart einfach sortieren eintragen ?"
Könnte es sein, dass Makrostart() auch Dummyfunction() oder DeinName() oder SortierMich() heißen könnte?
Grüße Boris
AW: makro durch formel starten
PeterW
Hallo ?,
ich bin mir sicher, dass du etliche Antworten bekommen wirst aber ein Blick in die Forums-FAQ kann nicht schaden.
Gruß
Peter
Anzeige
AW: makro durch formel starten
Ulf
Du hast doch gestern von Beni eine Beispieldatei erhalten.
Gar nicht gesehen, oder?
Ulf
AW: makro durch formel starten
16.04.2004 22:12:01
DieterB
hallo,
Beni's Datei funzt sogar.
gruß
Dieter
AW: makro durch formel starten
Beate
Hallo Süße maus 88,
füge ins Codefenster deiner Tabelle folgendes Makro. Bei A1 > 10 springt es an, sonst nicht:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target.Value > 10 Then
'hier dein Makrotext
MsgBox ("alles erledigt")
End If
End If
End Sub

Wie du mit einer Formel wie deiner ein Makro auslösen will, ist mir neu. Gespannt.
Gruß,
Beate
Anzeige
AW: makro durch formel starten
FP
Hallo Beate,
ich würde es aber so machen, denn IMHO will die "SüßeMaus" IMMER wenn der Wert in A1 > 10 ist ein Makro starten, nicht nur wenn A1 verändert wird...
( Sollte sich der Wert in A1 durch Berechnung ändern, würde bei Dir das Makro niemals aufgerufen... )
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Cells(1, 1) > 10 Then _
MachWas
End Sub


Private Sub MachWas()
MsgBox "A1 > 10!"
End Sub

Servus aus dem Salzkammergut
Franz
Makro durch Function() in Formel starten
Beate
Hallo,
interessante Lösung von Berni, habe ich mir aufgrund eurer Hinweise mal angeschaut; War nicht auf den Dreh mit Function gekommen.
aber im Endeffekt blockt es eine Zelle, die man mit einem Worksheet_Change-Makro spart.
Übrgens, wenn ich hier antworte, landet immer irgendein Excel/Vba-Level, dabei kann ich es gar nicht aussuchen nur die XL-Version. Wo stellt ihr das ein?
Gruß,
Beate
Anzeige
AW: Makro durch Function() in Formel starten
PeterW
Hallo Beate,
der Level des Fragestellers wird auch in den Antworten übernommen.
Gruß
Peter
!!!! ? makro durch formel starten ? !!!
SüßeMaus88
Beni hat mir eine EXCEL Datei an seinen Beitrag gehängt. Die funktionierte auch !
aber als ich die in meine EXCEL Datei eingetragen habe, hat es nicht funktioniert.
ich habe mit dem makro rekorder ein makro aufgenommen. dieses Makro nennt sich "sortieren" und soll ausgeführt werden, wenn der wert in a1 eine bestimmte größe erreicht hat.
die formel =WENN(A1&gt10;Makrostart();"") habe ich ja vom benny bekommen. aber ich muss dem computer doch irgendwie sagen wie das makro heisst, dass er ausführen soll, wenn der wert entsprechend ist. deswegen meine frage ob ich in die klammern, die hinter Makrostart stehen, den namen des makros, also "sortieren" (denn so heisst ja mein makro) eintragen muss ? falls ja weiss ich nicht wie das geht da die bereits genannten fehlermeldungen kommen.
Anzeige
Du willst uns vergackeiern...
Boris
Hi ?!?!?!?!?!?!?!?!?!
...liest du auch die Antworten oder wartest du auf das Silbertablett?
Boris
nein ... möchte ich nicht Boris !!!
Carmen
ich möchte euch nicht vergackeiern. ich kenne mich glaube ich einfach nur nicht so gut aus wie ihr. und mit diesen programier-codes oder was das auch immer ist (siehe beitrag von beate) kann ich gar nichts anfangen. die formel von beni funktioniert ja. aber ich muss da doch irgendwie mein eigenes aufgenommenes makro mit verknüpfen.
du hast mir vorhin was geschrieben von dummyfunction() etc. ? aber meine frage wo ich den namen meines makros eintragen muss hat mir keiner geschrieben... leider bin ich mit excel nicht so gut drauf wie ihr, ich mach das erst seit letztem august im büro...
Anzeige
Du kannst aber doch lesen...
Boris
Hi Carmen,
ich schrieb:
"Könnte es sein, dass Makrostart() auch Dummyfunction() oder DeinName() oder SortierMich() heißen könnte?..."
Ersetze doch einfach mal in der Formel das Wort "Makrostart" durch den Namen deines Makros ("Sortieren" oder so ähnlich...)
Sowas nenne ich "Mitdenken" - und das ist doch imho nicht zuviel verlangt...
Grüße Boris
AW: Du kannst aber doch lesen...
PeterW
Hallo Boris,
es geht wohl eher darum, im Code der Function das richtige Makro aufzurufen. Nur mal als Vermutung beim angegebenen Level.
Gruß
Peter
AW: Du kannst aber doch lesen...
Boris
Hi Peter,
...mag sein - aber mir vergeht die Lust bei solchen Fragen...:-(
So wie im übrigen (offtopic) auch hier (das hat jetzt überhaupt nix mit dir zu tun - ganz im Gegenteil - du stichst da sehr positiv hervor!):
https://www.herber.de/forum/offtopic/messages/743.html
Grüße Boris
Anzeige
AW: Ereigniscode
FP
Hallo Carmen,
a) Klicke mit der rechten Maustaste auf das Blattregister
b) wähle den Menüpunkt "Code anzeigen" aus
c) füge diesen Code im sich danach öffnenden Fenster ein
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Cells(1, 1) > 10 Then _
MachWas
End Sub


Private Sub MachWas()
MsgBox "A1 > 10!"
End Sub

Ersetze den Aufruf und den Code von "MachWas" durch Dein Sortiermakro
Fertig!
Servus aus dem Salzkammergut
Franz
Vielen Dank FP
Carmen
Vielen Dank Franz,
das hat geklappt und war auch eine Erklärung mit der ich was anfangen konnte.
allerdings spielt sich das makro, das nun erfreulicher weise wirklich funktioniert
immer wieder und wieder ab. kann ich in diesen "code" so abändern, dass es nur einmal durchläuft ? oder nur eine bestimmte anzahl ?
vielen dank aber schon mal, dass hat mir viel viel arbeit abgenommen !!!
Anzeige
AW: Vielen Dank FP
Boris
Hi Carmen,
das hat geklappt und war auch eine Erklärung mit der ich was anfangen konnte.
Kam ja auch auf dem Silbertablett...
*Kopfschüttel*
Boris
schlechte Laune ?
Carmen
Hallo Boris,
es gibt auch menschen, deren leben sich nicht nur vor dem computer abspielt, und die aus diesem grund eben in anderen bereichen ihre stärken haben.
dein "kopfschüttel" und das fehlende verständniss dafür, dass es menschen gibt die nicht
auf deinem göttlichen wissens-level stehen und eben manche dinge auf einem silbertablett brauchen kann ich nicht verstehen. dein mist von wegen "Makrostart()" einfach in den Makronamen zu ändern hat auch nicht gerade gezeigt, dass du super bist. (hat nämlich nicht hingehauen) mich würde mal interessieren, vieviele persönliche (auge in auge)soziale kontakte du so am tag oder in der woche pflegst, aber sich im forum als nörgeler zu presentieren, der hauptsache seinen senf dazugeben möcht, rückt dich sicherlich nicht in das licht in dem du gerne stehen würdest.
Anzeige
Nö...
Boris
Hi Carmen,
https://www.herber.de/forum/archiv/412to416/t414170.htm
Wo ist Deine Reatkion darauf?
Dass du Tipps als "wertlos" abkanzelst, mag ja grundsätzlich korrekt sein (denn niemand ist fehllos) - es kommt aber immer auf die Art der Kommunikation an. Bedenke doch einfach, dass du hier unentgeltlich ne Frage stellst und auch untentgeltlich ne Antwort bekommst.
Ist das für Dich so selbstverständlich?
Boris
AW: Nö...
Carmen
ich denke sinn und zweck eines forum besteht darin, fragen zu stellen und antworten zu erhalten. wenn ich mit den antworten aufgrund meines wissenstandes nichts anfangen kann ist mir hoffentlich auch von dir gestattet nochmal nachzufragen. unfreundlichkeit kann man mir da wohl nicht vorwerfen.
Anzeige
AW: Nö...
Boris
Hi Carmen,
"unfreundlichkeit kann man mir da wohl nicht vorwerfen. "
Das habe ich auch zu keiner Zeit getan - ich bin nur der Meinung, dass man auf eingehende Antworten auch irgendeine Reaktion folgend lassen sollte - und wenn diese auch lautet:
Mit deiner Antwort kann ich leider nix anfangen.
wenn ich mit den antworten aufgrund meines wissenstandes nichts anfangen kann ist mir hoffentlich auch von dir gestattet nochmal nachzufragen
Du kannst nachfragen - selbstverständlich. Was ich jedoch allgemein) nicht verstehe: wenn erhaltene Antworten völlig unberücksichtigt bleiben.
Aber jetzt soll´s auch mal gut sein...;-))
Grüße Boris
AW: !!!! ? makro durch formel starten ? !!!
DieterB
So "Süsse Maus",
extras, makros, VBA-Editor.
dann Einfügen, modul.
Dort kopierst Du folgenden Code rein:

Function Makrostart()
Call Sortieren
End Function


Sub Sortieren()
MsgBox "Aufruf erkannt"
End Sub

Gruß
DieterB
Nachtrag
16.04.2004 23:02:16
DieterB
den 2. teil weglassen und nur den ersten Teil in das Modul
An FP und Peter
Beate
Hallo Fp,
auch mein WorkscheetChange-makro springt immer an, sobald A1 größer 10 siehe Code:
If Target.Address = "$A$1" Then
If Target.Value größer 10 Then
Hast du wahrscheinlich überlesen.
und hallo Peter,
danke für deine Erklärung mit dem Level.
@ letzter Versuch für SüßeMau88:
Kopier den Code aus Modul1 in ein Modul deiner Datei.
Gruß,
Beate
AW: Leider nein...
FP
Hallo Beate,
Dein Makro springt nur an, wenn A1 direkt (vom Anwender) verändert wird!
Ändert sich der Wert in A1 durch Berechnung, weil z.B. in D4 etwas eingegeben wurde, macht Deine Funktion gar nichts...
Servus aus dem Salzkammergut
Franz
AW: makro durch formel starten
Beate
Hallo Fp,
auch mein WorkscheetChange-makro springt immer an, sobald A1 größer 10 siehe Code:
If Target.Address = "$A$1" Then
If Target.Value größer 10 Then
Hast du wahrscheinlich überlesen.
@ hallo Peter,
danke für deine Erklärung mit dem Level.
@ letzter Versuch für SüßeMau88:
kopier den Code aus Modul1 in ein Modul deiner Datei.
Gruß,
Beate
AW: makro durch formel starten
PeterW
Hallo Beate,
wie bekommst du das hin, dass bei Änderung von A2 und der Formel in A1 =A2 dein Worksheet_Change startet?
Gruß
Peter
AW: makro durch formel starten
Beate
Hallo Peter,
hier nochmal mein Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target.Value > 10 Then
'hier dein Makrotext
MsgBox ("alles erledigt")
End If
End If
End Sub

Mein Makro sagt doch nur: Wenn eine Zahl (keine Formel) in A1 eingegeben wird, die größer als 10 ist, soll das Makro ablaufen, sonst nicht.
Von A2 habe ich nie geredet.
Gruß,
Beate
AW: makro durch formel starten
PeterW
Hallo Beate,
hast Recht - was mische ich mich auch ein, wenn beim Fragesteller "Kaum Excel/VBA-Kenntnisse" steht. Das Forum kann kaum einen Grundkurs in VBA-Programmierung ersetzen. ;-)
Gruß
Peter
AW: makro durch formel starten
Carmen
Ich bedanke mich bei all den Leuten, die sich Zeit für mein Problem genommen haben.
Vielen Dank euch allen, Ihr habt mir sehr geholfen.
Viele Grüße Carmen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige