Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Eingabe oder Formelwert in Zelle

Eingabe oder Formelwert in Zelle
31.03.2020 12:05:09
Norbert
Hallo VBA Cracks
ich habe 3 Zellen C6 - D6 und E6 in denen ich eine Formel resp. ein konstanter Wert hinterlegt habe. Nun soll es eine Möglichkeit geben (VBA Code) in diese Zellen einen Wert direkt einzugeben und wenn diese Werte wieder gelöscht werden, dann automatisch wieder die Formeln eingetragen sind.
in C6 soll die Formel =D8-2 stehen
in D6 soll die Formel =E8-1 stehen
in E6 soll der Bezug zu =D2 sein.
Der Code soll direkt in der Arbeitsmappe integriert sein - nicht über ein Modul
Besten Dank für eine Lösung
Gruss Norbert
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabe oder Formelwert in Zelle
31.03.2020 12:34:19
Hajo_Zi
Hallo Norbert,
starte den VBA Editor (Alt+F11), Bild sollte zweigeteilt sein ansonsten Strg+R, Doppelklick auf Deine Datei, Doppelklick auf Deine Tabelle, Code ins rechte Fenster kopieren, VBA Editor schließen.
Das Makro wird automatisch gestartet.
Der Code wirkt nur in dieser Tabelle.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'in C6 soll die Formel =D8-2 stehen
'in D6 soll die Formel =E8-1 stehen
'in E6 soll der Bezug zu =D2 sein.
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
If Target = "" Then
Select Case Target.Address
Case "$C$6"
Target.Formula = "=D8-2"
Case "$D$6"
Target.Formula = "=E8-1"
Case "$E$6"
Target.Formula = "=D2"
End Select
End If
End If
End Sub

Anzeige
AW: Eingabe oder Formelwert in Zelle
31.03.2020 13:07:53
Norbert
Hallo Hajo
auf dich ist verlass :)
besten Dank
Gruss Norbert
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Eingabe oder Formelwert in Zelle


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke Alt + F11. Der Editor sollte sich öffnen, und das Fenster sollte zweigeteilt sein. Falls nicht, drücke Strg + R, um das Projektfenster anzuzeigen.
  2. Wähle Deine Arbeitsmappe: Doppelklicke auf den Namen Deiner Arbeitsmappe im Projektfenster.
  3. Wähle das richtige Arbeitsblatt: Doppelklicke auf das Arbeitsblatt, in dem Du den Code einfügen möchtest.
  4. Füge den VBA-Code ein: Kopiere den folgenden Code in das rechte Fenster des VBA-Editors:

    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    'in C6 soll die Formel =D8-2 stehen
    'in D6 soll die Formel =E8-1 stehen
    'in E6 soll der Bezug zu =D2 sein.
    If CallByName(Selection, IIf(Val( _
    Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
        If Target = "" Then
            Select Case Target.Address
                Case "$C$6"
                    Target.Formula = "=D8-2"
                Case "$D$6"
                    Target.Formula = "=E8-1"
                Case "$E$6"
                    Target.Formula = "=D2"
            End Select
        End If
    End If
    End Sub
  5. Schließe den VBA-Editor: Nachdem Du den Code eingefügt hast, kannst Du den VBA-Editor schließen. Der Code ist nun aktiv und wird automatisch ausgeführt.

Häufige Fehler und Lösungen

  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblatt eingefügt hast und dass die Makros in den Excel-Optionen aktiviert sind.
  • Fehler: Formeln werden nicht zurückgesetzt.

    • Lösung: Überprüfe, ob die Zellen tatsächlich leer sind, wenn Du einen neuen Wert eingibst.

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du auch die IF-Funktion in Excel verwenden, um dynamische Werte zu erzeugen. Zum Beispiel:

=IF(C6="", D8-2, C6)

Diese Methode ist jedoch weniger flexibel, da sie keine direkte Eingabe in die Zellen ermöglicht.


Praktische Beispiele

Angenommen, Du hast die Zellen C6, D6 und E6 entsprechend konfiguriert. Wenn Du in C6 einen Wert eingibst, wird die Formel =D8-2 wiederhergestellt, sobald Du den Wert löschst. Die gleiche Logik gilt für D6 und E6, die Formeln werden automatisch zurückgesetzt, wenn die Zellen geleert werden.


Tipps für Profis

  • Sichere Deine Arbeitsmappe: Vor dem Arbeiten mit VBA empfiehlt es sich, eine Kopie Deiner Datei zu erstellen, um Datenverlust zu vermeiden.
  • Verwende Kommentare: Kommentiere Deinen Code mit ', um die Funktionalität für Dich und andere verständlicher zu machen.
  • Teste den Code: Teste den VBA-Code in einer Testumgebung, bevor Du ihn in produktiven Dateien verwendest.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein VBA-Code funktioniert?
Du kannst den Code testen, indem Du Werte in die Zellen C6, D6 und E6 eingibst und anschließend löschst. Die Formeln sollten sich automatisch wiederherstellen.

2. Ist dieser Code in allen Excel-Versionen kompatibel?
Der Code wurde für Excel 2003 und höher entwickelt. Bei älteren Versionen kann es zu Komplikationen kommen, insbesondere wenn Du auf spezifische Funktionen zugreifst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige