Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA nur ausführen, wenn eine bestimmte Zelle "aktualisiert" wird
#11
Hi,

wieso kommt eigentlich keiner auf die Idee zu fragen, wie das Makro denn bisher ausgeführt wird? DAS ist doch die entscheidende Frage und hier muss eingegriffen werden.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#12
Hallo Helmut,

das sehe ich genau so. Ich hab mich in Beitrag #5 wohl nicht verständlich ausgedrückt.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#13
Wie gehe ich vor bzw. wie setzte ich es am besten um; dass das Makro erst ausgeführt wird, wenn eine bestimmte Zelle "sich aktualisiert"
Antworten Top
#14
Hallo

die dazu korrekte Antwort gab es doch schon in der Antwort #2!
Hier noch mal eine vereinfachte Version, die du vielleicht leichter verstehst.

mfg Gast 123

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "AK16" Then
   Call Dein_Makroname  'Hier deinen Makronamen angeben
End If
End Sub
Antworten Top
#15
Du meine Güte! Jetzt wird mir einiges klar! Dieser Thread hier bezieht sich auf https://www.clever-excel-forum.de/Thread...bearbeiten

Dort wird kein Event, sondern eine UDF verwendet. Dann ist es logisch, dass die Funktion bei jeder Änderung einer Ausgangszelle ausgeführt wird. Dies ist in der Natur von excel begründet und lässt sich nur beheben, indem man die automatische Berechnung ausschält. Dann wird allerdings nichts berechnet, solange man die Berechnung nicht selbst durch das Drücken von F9 auslöst.

Da wirst du schlecht irgendwas dran ändern können.

PS:
@andre: du solltest mal deine Art zu Fragen überdenken. In beiden Threads muss man dir durch mehrmaliges Nachfragen wichtige Infos aus der Nase ziehen. In diesem hier die Info, was eigentlich genau passiert und wie das Makro aufgerufen wird. Diese Frage wurde von dir bisher nicht beantwortet und von mir nur durch Zufall entdeckt. Im anderen Thread war es damals ähnlich. Frage: wie kann ich ein Bild ändern? Und erst nach mehrmaligem gezielten Nachfragen nach dem Hintergrund und Zweck wird eine zielgerichtete, einfache Lösung erreicht.

Du hat es echt drauf bei allen deinen Fragen ein X-Y-Problem zu stellen und hartnäckig darauf rum zu reiten.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#16
Damit verständlich wird, dass sich der Code bei jeder Änderung einer Zelle aktualisiert, die dafür eine Rolle spielt habe ich eine Beispieltabelle gemacht:

   

Der Code-Code gibt die Zahl 6 ( also das Ergebnis aus B5 ) aus. B5 ist die Summe aus B2, B3 und B4 - bei jeder Änderung eines Wertes, z.B. Zelle B2 lädt der QR-Code neu, was nervig ist, wenn - wie in meinem richtigen Fall - das ganze aus 20 Zellen besteht und man immer "alle" aktualisiert. 

Mir würde es reichen wenn sich der Code beim ändern von B4 aktuallisiert.

Oder gibt es noch eine "bessere" Lösungsidee?
Antworten Top
#17
@andre: Wo ist denn die Beispieldatei? ich sehen nur ein Bild.

Und immer noch redest du um den heißen Brei: Gib doch endlich zu, dass in der Zelle unter dem QR-Code die Formel =QRCode2(B5) steht und dein "Makro" Function QRCode2(QRCode2_Wert As String) As Variant heißt und den QR-Code mit Hilfe einer Webseite erstellt und die Grafik über die Zelle legt. Wenn du diese wichtige(!) Info (also nicht wie dein Makro heißt, sondern dass es sich um eine Funktion handelt) gleich im ersten Beitrag genannt hättest, wären wir schon viel weiter.

Vor allem habe ich dir schon die einzige Lösung genannt, die dies ohne Aufwand löst: schalte die automatische Berechnung aus. Und drücke bei Bedarf F9. Alles andere erfordert entweder einen größeren Umbau der Funktion (wobei ich jetzt noch nicht mal wüsste, wo man da sinnvoll ansetzen sollte), oder eine komplett andere Methode um den QR-Code zu erzeugen.

So ich bin jetzt raus.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • RPP63
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste