Worksheet_Change-Event und aendern/beschreiben von Zellen

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von stderr.

    Worksheet_Change-Event und aendern/beschreiben von Zellen

    Mahlzeit,


    ich nutze das Event Worksheet_Change um mit diesem moeglichst automatisiert im Arbeitsblatt zu navigieren.
    Im Grunde springe ich nur in die (fuer meine Zwecke) naechst logische Zelle ...

    Nun moechte ich den Wert, der getaetigt wurde auch gleich nach der Eingabe bearbeiten.

    Die Daten kommen aus einem Messschieber und werden in dem Format "23,45" eingetragen.
    Ich benoetige allerdings anstatt des Kommas einen Punkt (auch wenn ich dadurch das Format "Zahl" der Zelle verlieren wuerde).

    Wenn ich nun aber mittels Replace() den Wert aendern moechte wird wieder das Event Worksheet_Change
    ausgeloest und ich befinde mich in einer Endlosschleife ...

    Gibt es eine Moeglichkeit, zeitweilig alle oder einen Teil der Events zu deaktivieren oder kennt vielleicht jemand eine andere Loesung?


    Danke und einen schoenen Abend.

    Beispiel-Code:
    pastebin.com/PpB7MvqF
    ja schreib direkt als erstes in das worksheet_change-event eine Abbruch Bedingung.

    wenn z.B. die letzte Automatische Eingabe in Range B5 erfolgt dann

    Visual Basic-Quellcode

    1. if not activerange=range("B5") then
    2. 'hier dein Code
    3. end if

    somit wird das event dann nur ausgelöst bis zur letzten eingabe.
    Die Form ist eine nicht zu verachtende Moeglichkeit.

    Muss mich da dann nur in diese einarbeiten ... hab die bisher nur in VB genutzt.

    Aber zum eigentlichen 'Problem' ...

    Mittels Application.EnableEvents = False kann ich saemtliche Events abschalten ...

    Visual Basic-Quellcode

    1. If Target.column = 2 Then
    2. Application.EnableEvents = False
    3. einezellehoch
    4. messwert_punkt = Replace(Target.value, ",", ".")
    5. ActiveCell.value = messwert_punkt
    6. einezellerechts
    7. Application.EnableEvents = True
    8. ElseIf Target.column = 3 Then
    9. ...

    So klappts dann auch mit dem aendern der Zelle.