Clever-Excel-Forum

Normale Version: Werte sollen sich nach Übertragung nicht mehr verändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits,

dies ist mein erster Beitrag, daher bitte ich um etwas Nachsicht. :o)

Ich habe folgendes Problem:

Ich habe mir eine sehr umfangreiche Excel-Datei gebaut.
In Tabellenblatt 1 berechnet mir die Datei einen Wert. Dieser Wert muss dann automatisch in Tabellenblatt 2 übernommen werden, um damit weiterrechnen zu können.

Das ist ja nicht weiter schwer (=Tabelle!A1).

Allerdings darf sich dieser Wert dann in Tabellenblatt 2 nicht mehr verändern, selbst wenn sich der Wert in Tabellenblatt 1 ändern sollte.

Copy+Paste ist keine Option, da das ganze automatisch ablaufen muss.

Ich zerbreche mir wirklich das Hirn :16:
Hat jemand einen schlauen Tipp für mich??

Tausend Dank schon mal im Voraus
yabu_sab
Hi,

wenn nur die Werte übertragen werden sollen und du händisches Copy/Paste nicht willst, muss m.E. ein Makro herhalten. Da müssen dir aber die VBA-Spezies helfen; mehr als aufzeichnen beherrsche ich nicht.

Hier mal ein aufgezeichneter Code:

Code:
Option Explicit

Sub CopyPasteNurWert()

    Range("C2:C5").Copy
    Range("G2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

In diesem Fall wird das Ergebnis auf das gleiche Tabellenblatt geschrieben; der Bereich muss angepasst werden. Mit der Zuweisung des Makros zu einem CommandButton kannst du auf Knopfdruck dein Ergebnis übertragen.
Spezies machen das aber sicher erheblich eleganter.
Hallöchen,

wenn es um einen Wert geht, ist ein Makro eigentlich zu viel des Guten. Du brauchst es ja nur ein mal und könntest es dann wieder löschen. Smile
Ausgenommen, Du löschst den Wert in der Tabelle2, dann würde bei der nächsten Berechnung auf Tabelle1 der Wert von dort wieder übernommen - falls das doch geplant ist, eigentlich sollte sich auf Tabelle2 der Wert ja nicht mehr ändern ...

Hier mal ein Code, der nach einer Berechnung in A2 das Ergebnis von A1 einträgt, sofern in A2 noch nix steht.

Code:
Private Sub Worksheet_Calculate()
If Range("A2").Value = "" Then Range("A2").Value = Range("A1").Value
End Sub