Thema Datum  Von Nutzer Rating
Antwort
18.07.2022 09:30:24 Opportunity_Cost
NotSolved
18.07.2022 09:53:49 Gast1825
NotSolved
18.07.2022 10:19:55 Opportunity_Cost
NotSolved
18.07.2022 10:20:32 Gast3025
NotSolved
18.07.2022 10:24:16 Gast85132
NotSolved
18.07.2022 10:29:18 Gast85132
**
NotSolved
18.07.2022 10:20:06 Gast32759
*****
NotSolved
18.07.2022 10:23:09 Opportunity_Cost
NotSolved
25.07.2022 14:13:22 Opportunity_Cost
NotSolved
25.07.2022 16:10:07 Gast15075
NotSolved
25.07.2022 21:22:31 Gast15772
NotSolved
26.07.2022 09:29:54 Opportunity_Cost
NotSolved
Rot XIRR Funktion, beginnend mit dem ersten Wert <>0
26.07.2022 14:12:27 Gast94377
NotSolved
26.07.2022 17:24:09 Opportunity_Cost
NotSolved

Ansicht des Beitrags:
Von:
Gast94377
Datum:
26.07.2022 14:12:27
Views:
83
Rating: Antwort:
  Ja
Thema:
XIRR Funktion, beginnend mit dem ersten Wert <>0

Wenn du innerhalb des Worksheet_Change Events irgendwelche inhaltlichen Änderungen am Dokument / den Daten vornimmst, die wiederum zum Aufruf dieses Events führen, musst du sicherstellen das es zu keiner Endlosschleife kommt.

Im wesentlichen gibt es zwei Optionen, dem zu begegnen:

  1. Event-Handling verrübergehend ausschalten
  2. eine Barriere im Event setzen (ganz oben, bevor allen anderen Aufrufen)
    • üblicherweise erstellt man dafür eine Member Variable (nur wenn es sinnvoll ist, sollte diese global sein)
    • siehe folgendes Beispiel
private m_blnOnChange As Boolean 'Member-Variable / in Fällen wie diesen auch 
                                 'gerne als "Flag" bezeichnet

Private Sub Worksheet_Change(ByVal Target As Range)
  
  If m_blnOnChange _
    Then Exit Sub

  m_blnOnChange = True 'Barriere / Flag aktiv
  
  '<Anweisungen hier>
  'z.B. Range("A1").Value = 1 '-> löst Worksheet_Change erneut aus
  
  m_blnOnChange = False 'Barriere / Flag inaktiv

End Sub

Man sollte zusätzlich - wie auch bei Punkt 1 - berücksichtigen, dass aufgrund eines Laufzeitfehlers der Zustand nie zurück gesetzt werden könnte (Application.EnableEvents oder das Flag wird nicht zurück gesetzt) - deshalb unbedingt Fehlerbehandlung einplanen und dafür sorgen, dass man wieder in den Ausgangszustand zurück gelangt.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
18.07.2022 09:30:24 Opportunity_Cost
NotSolved
18.07.2022 09:53:49 Gast1825
NotSolved
18.07.2022 10:19:55 Opportunity_Cost
NotSolved
18.07.2022 10:20:32 Gast3025
NotSolved
18.07.2022 10:24:16 Gast85132
NotSolved
18.07.2022 10:29:18 Gast85132
**
NotSolved
18.07.2022 10:20:06 Gast32759
*****
NotSolved
18.07.2022 10:23:09 Opportunity_Cost
NotSolved
25.07.2022 14:13:22 Opportunity_Cost
NotSolved
25.07.2022 16:10:07 Gast15075
NotSolved
25.07.2022 21:22:31 Gast15772
NotSolved
26.07.2022 09:29:54 Opportunity_Cost
NotSolved
Rot XIRR Funktion, beginnend mit dem ersten Wert <>0
26.07.2022 14:12:27 Gast94377
NotSolved
26.07.2022 17:24:09 Opportunity_Cost
NotSolved