justlukas
Goto Top

EXCEL Zelleninput direkt in "Hintergrundformel" einfügen

Hallo zusammen,

ich möchte den Input einer Zelle in Form einer Zahl in der selben Zelle (!) direkt in eine Formel einsetzten. Beispiel:

Ich trage in A1 die Zahl 22 ein. Wenn ich die Eingabe bestätige, soll diese 22 in eine Formel gepackt werden, deren OUTPUT in A1 zu finden ist.

Geht das?

LG

Content-Key: 356986

Url: https://administrator.de/contentid/356986

Printed on: April 19, 2024 at 20:04 o'clock

Member: eisbein
eisbein Dec 05, 2017 at 05:49:58 (UTC)
Goto Top
Hallo!

Das nennt sich dann Zirkelbezug, soweit ich mich erinnern kann.

Evtl. mit VBA, wenn du den Zelleninhalt prüfst ob es eine Formel ist (also mit = beginnt).

Was genau hast du vor?

Gruß
eisbein
Mitglied: 134464
134464 Dec 05, 2017 updated at 09:25:26 (UTC)
Goto Top
Zitat von @justlukas:
Geht das?
Ja, mit etwas VBA kein großes Problem. Du nutzt das Worksheet_Change Event des Sheets und setzt darin deine Formel mit dem in die Zelle geschriebenen Wert in die gleiche Zelle.

Hier ein einfaches Beispiel das die in Spalte A eingetragene Zahlen mit 10 multipliziert und in der selben Zelle ausgibt:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then  
        Application.EnableEvents = False
        Target.Value = target.value * 10
        Application.EnableEvents = True
    End If
End Sub
Der Code muss zwingend in den Codeabschnitt des jeweiligen Worksheets, nicht in ein Modul, da es sich hierbei um eine Event-Prozedur handelt die nur im jeweiligen Worksheet funktioniert.
screenshot
Member: Volchy
Volchy Dec 05, 2017 at 08:42:17 (UTC)
Goto Top
Moin,

für das Schreiben einer Formel verwendest du dann FormulaLocal bspw.:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then  
        
        Application.EnableEvents = False
        
            Target.FormulaLocal = "= 2*" & Target.Value & ""  

        Application.EnableEvents = True

    End If
    
End Sub

Bei Verwendung der Formeln bzw. beim Setzen dieser entsprechend auf die Anführungszeichen achten face-smile

Liebe Grüße