Microsoft Excel

Herbers Excel/VBA-Archiv

Formel nach berechnung löschen | Herbers Excel-Forum


Betrifft: Formel nach berechnung löschen von: Andre Stange
Geschrieben am: 23.02.2009 23:12:45

Hallo!!

Wie kann ich es mit einem VBA code erreichen, daß sobald die Formel in der Zelle D7 errechnet wurde, das Ergebnis stehen bleibt, aber die Formel gelöscht oder außer Betrieb gesetzt wird???
Dann geht es mit D8, D9, D10 weiter.

Danke im Vorraus.

  

Betrifft: AW: Formel nach berechnung löschen von: Uduuh
Geschrieben am: 23.02.2009 23:16:41

Hallo,
wozu VBA?
Kopieren-Bearbeiten-Inhalte einfügen-Werte

Gruß aus’m Pott
Udo



  

Betrifft: AW: Formel nach berechnung löschen von: Andre Stange
Geschrieben am: 23.02.2009 23:18:06

Hallo!!

Es sollte schon automatisch laufen!!


  

Betrifft: wie lautet die Formel? o.T. von: Josef Ehrensberger
Geschrieben am: 24.02.2009 00:28:07

Gruß Sepp



  

Betrifft: AW: Formel nach berechnung löschen von: Daniel
Geschrieben am: 24.02.2009 00:35:12

Hi

dieser Code muss ins Modul des Tabellenblatts, für das er gelten soll

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column <> 4 Then Exit Sub
If Target.Row < 7 Then Exit Sub

Application.EnableEvents = False
Target.Formula = Target.Value
Application.EnableEvents = True
End Sub



der Funktionelle Teile ist "Target.Formula = Target.Value", der Rest ist die Prüfung auf den richtigen Zellbereich

Gruß, Daniel


  

Betrifft: AW: Formel durch Wert ersetzen von: Erich G.
Geschrieben am: 24.02.2009 00:49:00

Hi Andre,
du schreibst "sobald die Formel in der Zelle D7 errechnet wurde".

Das ist doch der Moment, in dem die Formel in die Zelle geschrieben wird, oder?
Dann greift Daniels Lösung.

Oder geht es etwa darum:
Das Formelergebnis hängt von einem oder mehreren Werten in anderen Zellen ab.
In D7 soll das Ergebnis nach Änderung dieser anderen Zelle(n) festgehalten werden.
Dann müsste man im Worksheet_Change diese andere(n) Zelle(n) überwachen.

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: noch eine Version von: Tino
Geschrieben am: 24.02.2009 07:55:34

Hallo,
hier noch eine Version, Kommentare stehen im Code.

Kommt als Code ins entsprechende Tabellenblatt.

Private Sub Worksheet_Calculate()
Dim rngBereich As Range, iCalc As Integer

'Bereich wo sich die Formeln befinden, hier Spalte 1 
Set rngBereich = Columns(1)
On Error GoTo KeineFormeln:
 'sind keine Formeln vorhanden, kommt es zum Fehler 
 Set rngBereich = rngBereich.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0

With Application
  iCalc = .Calculation
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual
    
'    Formel wird durch festen Wert ersetzt, 
'    wenn diese als Ergebnis nicht leer liefert. 
'    Dies kann auch umgestellt oder erweitert werden 
    For Each rngBereich In rngBereich
     If rngBereich <> "" Then rngBereich.Value = rngBereich.Value
    Next rngBereich
 
 .Calculation = iCalc
 .ScreenUpdating = True
 .EnableEvents = True
End With

KeineFormeln:
End Sub



Gruß Tino


  

Betrifft: AW: noch eine Version von: Andre Stange
Geschrieben am: 24.02.2009 22:23:54

Hallo Tino!!

Wo und wie muß ich den die Spalte D eingeben???

Habe da leider nicht so die Ahnung.

Der File-Upload funktioniert leider nicht bei mir.

Gruß Andre


  

Betrifft: AW: noch eine Version von: Tino
Geschrieben am: 24.02.2009 22:40:46

Hallo,
mach aus

Columns(1)
dies
Columns(4)

1= Spalte A
2= Spalte B
3= Spalte C
4= Spalte D
usw...

Gruß Tino


  

Betrifft: AW: noch eine Version von: Andre Stange
Geschrieben am: 25.02.2009 16:31:14

Hey Tino!!

Habe alles so gemacht wie du gesagt hast. Leider funzt es nicht bei mir.
Die alten Zellen werden immer noch neu berechnet sobalt sich die Bezugszelle ändert.

Hast du noch ne Möglichkeit??

Gruß Andre


  

Betrifft: so kommen wir nicht weider von: Tino
Geschrieben am: 25.02.2009 17:39:02

Hallo,
Lade mal eine Beispieldatei hoch, am besten mit Beispiel vorher nachher.

Dazu klicke auf "Hier geht es zum File-Upload"

Wähle eine Datei zum Upload aus
(beachte die Hinweise und verwende nicht ä, ö, ü, ß im Namen der Datei)

Klicke auf "Datei zum Server"

Du erhältst einen Link, diesen kopierst Du ohne veränderungen in Deine Nachricht.

Gruß Tino


  

Betrifft: AW: so kommen wir nicht weider von: Andre Stange
Geschrieben am: 25.02.2009 17:54:38

Hey Tino!!

Hier jetzt die Datei!!

https://www.herber.de/bbs/user/59781.xls


Danke im Vorraus!!


  

Betrifft: AW: so kommen wir nicht weider von: Tino
Geschrieben am: 25.02.2009 18:33:02

Hallo,
ok. Du hattest nicht erwähnt, dass Deine Tabellen Passwortgeschützt sind.

Teste mal diese Version.
https://www.herber.de/bbs/user/59784.xls


Gruß Tino


  

Betrifft: AW: so kommen wir nicht weider von: Andre Stange
Geschrieben am: 25.02.2009 18:45:05

Hey Tino!!

Es funzt!!

Außer das die Werte Auf bzw Abgerundet werden. Liegt das an irgend einer Formatierung??
Hast du da noch ne Idee??

Gruß Andre


  

Betrifft: AW: so kommen wir nicht weider von: Tino
Geschrieben am: 25.02.2009 19:02:05

Hallo,
es wird der Wert eingetragen der durch die Formel angezeigt wird.
Eventuell überprüfe mal die Zellformatierung,
diese steht zurzeit bei Dir auf Währung mit 4 Nachkommastellen.


Gruß Tino


  

Betrifft: AW: so kommen wir nicht weider von: Andre Stange
Geschrieben am: 25.02.2009 19:05:38

Ja, das ist auch gewollt. Kann man nicht den Wert aus der Bezugszelle 1 zu 1 übernehmen??


  

Betrifft: AW: so kommen wir nicht weider von: Tino
Geschrieben am: 26.02.2009 13:42:41

Hallo,
habe es nochmal getestet, es wird der Wert der Zelle übernommen (nicht wie angezeigt).

Deine Anzeige ist auf 4 Nachkommastellen eingestellt.
Versuche es mal so.

Anstatt dieser Zeile
If rngBereich <> "" Then rngBereich.Value = rngBereich.Value
Diese verwenden
If rngBereich <> "" Then rngBereich.Value = Application.Round(rngBereich.Value, 4)

Gruß Tino


  

Betrifft: AW: so kommen wir nicht weider von: Andre Stange
Geschrieben am: 27.02.2009 13:25:48

Ja, Danke

jetzt läuft es!!

Besten Dank


  

Betrifft: AW: Formel nach berechnung löschen von: Andre Stange
Geschrieben am: 24.02.2009 22:16:13

Hallo!!

Konnte mich leider erst jetzt wieder melden, Sorry!!

Mit euren Codes läuft es leider nicht.

Ich habe in einer Zelle folgende Formel:

=WENN(B6<>"";Preisentwicklung!D5;"")

Die Bezugszelle ;Preisentwicklung!D5; ändert sich gelegendlich, aber die alten Werte sollen erhalten bleiben. Sobalt sich also der Wert in der Bezugszelle ändert, ändern sich auch die Werte in den vorherigen
Zellen.

Leider funktioniert der File-Upload nicht.

Danke im Vorraus

Gruß Andre


Beiträge aus den Excel-Beispielen zum Thema "Formel nach berechnung löschen"