Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formeleingabe per VBA
#1
Hallo zusammen,

kann mir jemand folgendes Phänomen erklären?

Ich habe eine Tabelle mit einem Preis in Zelle B1, der variable sein soll. B2 ist mit dem Namen "Preis" definiert. In Spalte "D" soll dieser Preis immer dann angezeigt werden, wenn in Spalte "C" etwas eingetragen ist. Das ganze funktioniert wunderbar mit der Formel in Spalte "D":

=WENN(INDIREKT("C"&ZEILE())="";"";Preis)

Da Zellen in Spalte "D" manchmal gelöscht sind, möchte ich die Formel per Doppelklick auf diese Zelle wieder einfügen. Das mache ich mit dem Makro:


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   
    ' Doppelklick in Spalte "D": Formel einfügen:
    If Target.Column = 4 Then
        Cancel = False
        Target.FormulaLocal = "=WENN(INDIREKT(""C""&ZEILE())="""";"""";Preis)"
    End If
   
End Sub


Nun passiert aber beim Doppelklick in eine Zelle in "D" Folgendes:
- die Zelle erscheint im Editier-Modus (als hätte man F2 gedrückt),
- die Formel wird angezeigt als "WENN(@INDIREKT(""C""&ZEILE())="""";"""";Preis)" [mit einem "@" vor "INDIREKT"]
- nach RETURN erscheint eine Mitteilung:
Diese Formel wird von einigen älteren Excel-Versionen nicht unterstützt.
Möchten Sie stattdessendiese Variante verwenden?
=@WENN(INDIREKT("W"&ZEILE())="";"";Preis) [mit einem "@" vor "WENN"]

A) Wenn ich auf "Ja" klicke, wird die Formel geändert zu "=@WENN(INDIREKT("W"&ZEILE())="";"";Preis)", aber es wird in der Zelle "#WERT!" ausgegeben.
→ Wenn ich danach die Zelle mit F2 editiere und sofort Return drücke, verschwindet "#WERT!" und die Formel "arbeitet" wie gewünscht

B) Wenn ich statt "Ja" zu klicken die Meldung mit Esc beende, dann wird die Formel geändert zu "=WENN(@INDIREKT("W"&ZEILE())="";"";Preis)". Sie arbeitet auch richtig (je nach Eingaben in Spalte "C"). Allerdings: Wenn ich die Formel mit F2 editiere und Return drücke, erscheint wieder die o.g. Meldung.

C) Wenn ich das Häkchen bei "Diese Meldung nicht mehr anzeigen" setze, kommt zwar nicht mehr die Meldung, aber die Formel wird abgeändert in "WENN(@INDIREKT(""C""&ZEILE())="""";"""";Preis)". Nach einem Doppelklick befinde ich mich aber immer noch im Editiermodus.

Fragen:
Wo finde ich Infos zu der Verwendung von "@" in Formeln?
Wie bekomme ich meine Formel per Doppelklick in die Zelle, ohne manuell Hand anlegen zu müssen, also ohne, dass ich mich nach dem Doppelklick im Editiermodus befinde.

Danke schon mal für's Lesen.


Angehängte Dateien
.xlsm   FormeleingabeVBA.xlsm (Größe: 20,03 KB / Downloads: 1)
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antwortento top
#2
(01.07.2020, 10:54)LuckyJoe schrieb: Fragen:
Wo finde ich Infos zu der Verwendung von "@" in Formeln?
Auf der Support-Seite des Herstellers.
Wir sehen uns!
... shift-del
Hinweise zu meiner Hilfe in Foren
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()
[-] Folgende(r) 1 Benutzer sagt Danke an shift-del für diesen Beitrag:
  • LuckyJoe
Antwortento top
#3
@shift-del: Danke, wieder etwas schlauer. 

Fehlt noch, wie die Formel so per Doppelklick eingefügt werden kann, dass man nicht im Editiermodus landet.
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antwortento top
#4
Hallo Jörg,

Cancel = True ? Wink

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • LuckyJoe
Antwortento top
#5
.... aaaaaahhhhrrrrrrgggggg!!!!  33 

Oh man, jau - Danke!
Herzliche Grüße aus dem Rheinland
Jörg

[Windows 10, Microsoft 365]
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste