Microsoft Excel

Herbers Excel/VBA-Archiv

Formel automatisch durch Wert ersetzen (vba)

Betrifft: Formel automatisch durch Wert ersetzen (vba) von: Tanja
Geschrieben am: 07.08.2008 21:59:48

Hallo liebe Leute,

Ich hab in meiner excel-Mappe, in den Zellen: M2:M14 Formeln, die eine ganze Zahl als Ergebnis erzeugen.

So, und nun möchte ich das 1. Berechnungs-Ergebnis quasi "einfrieren".

Mein Problem: Ich möchte kein Makro per Hand auslösen müssen, sondern der Code soll vollautomatisch, bei Erscheinen eines (Zahlen)-Wertes in einer Zelle, funktionieren. (also, sobald z.B. die Zahl -14- in Zelle M3 erscheint, soll die zugrundeliegende Formel durch den berechneten Wert (14) ersetzt werden.

Weiß jemand ob oder wie das geht?

Schon mal vielen Dank für Eure Hilfe
Lieber Gruss, Tanja H.

  

Betrifft: AW: Formel automatisch durch Wert ersetzen (vba) von: Original Kurt
Geschrieben am: 07.08.2008 22:25:08

Hi,

wie lauten die Formeln und welches Formelergebnisse stehen vor der ersten Berechnung
in den Zellen? Wodurch wird die Berechnung ausgelöst?

mfg Kurt


  

Betrifft: AW: Formel automatisch durch Wert ersetzen (vba) von: Tanja
Geschrieben am: 07.08.2008 23:17:15

Hallo Kurt,
Das Formelergebnis vor dieser Berechnung heißt "einschalten".
Sobald ich dieses Ergebnis bekomme findet in M2 ein Division statt, die sich auf andere Zellen bezieht.
Ich weiß nicht, ob Dir das weiterhilft ?
Gruss, Tanja


  

Betrifft: AW: Formel automatisch durch Wert ersetzen (vba) von: Daniel
Geschrieben am: 07.08.2008 23:59:30

HI
das geht, dazu muss dieser Code in das Modul des Tabellenblatts:

Private Sub Worksheet_Calculate()
If Range("M3").Value = 14 Then Range("M3").Value = Range("M3").Value
End Sub



oder einfacher:

Private Sub Worksheet_Calculate()
If Range("M3").Value = 14 Then Range("M3").Value = 14
End Sub



Gruß, Daniel


  

Betrifft: AW: Formel automatisch durch Wert ersetzen (vba) von: Tanja
Geschrieben am: 08.08.2008 23:11:09

So, Jungs: Die richtige Antwort kommt unten. Wurde mir freundlicherweise von Nepomuk aus Berlin zugesandt! Nepomuk - ich bin begeistert !!
-----------------------------------------------------------
Rechtsklick auf den Tabellenreiter - Code anzeigen. Folgende Prozedur einfügen:

Code:

Private Sub Worksheet_Calculate()
    Dim objCell As Range
    For Each objCell In Range("M2:M14")
        If objCell.HasFormula Then _
            If IsNumeric(objCell.Text) Then _
            If Fix(objCell.Value) = objCell.Value Then _
            objCell.Value = objCell.Value
    Next
End Sub




 

Beiträge aus den Excel-Beispielen zum Thema "Formel automatisch durch Wert ersetzen (vba)"