01.07.2020, 11:54
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:
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.
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.
Herzliche Grüße aus dem Rheinland
Jörg
[Windows 10, Microsoft 365]
Jörg
[Windows 10, Microsoft 365]