Hallo Experten, eine Frage zu Excel 2010

Ich möchte in 2 Spalten Höhen eintragen, die voneinander abhängig sind. Dabei trage ich immer nur einen Wert in einer Spalte ein. In der zweiten Spalte soll die zweite Angabe über eine Formel berechnet werden. Anders herum soll das auch funktionieren. D. h. ich bekomme einen Zirkelbezug, da die Abhängigkeit vor der Eingabe da ist. Es handelt sich um eine Vorlagedatei. Die Spalte, in der ich die Formel bei der Eingabe überschreibe, darf dabei gelöscht werden. Eine Iteration wäre nicht korrekt. Wir hinterlege ich also eine Formel, ohne dass ein Zirkelbezug entsteht. Kann ich den ausschalten? Dass ihr mich richtig versteht, der Zirkelbezug ist nur vor der Eingabe da und stört in der Ansicht, da die Nutzer davon irritiert werden. Beim Googeln finde ich immer nur die Sache mit der „Iteration“. Im Voraus danke ich für die Antworten. Beste Grüße, Ralf

Trag es doch einfach ein. Das einzige, was passiert, ist die Meldung in der Statuszeile: „Zirkelbezüge: A5“ o.ä. sowie ein blauer Pfeil. Den Pflei bekommst du weg, indem du bei „Formeln“ auf „Pfeile entfernen“ klickst.

Einen Zirkelbezug erstellen ist natürlich Käse. Irgendwann schießt man sich damit ernsthaft ins Knie, außerdem nervt man den Nutzer unendlich damit.

Die Lösung ist ein Makro, das direkt in das Tabellenblatt (nicht in ein Modul) eingetragen wird:

Private Sub Worksheet_Change(ByVal Target As Range)
’ in diesem Beispiel soll Spalte 2 immer doppelt so groß wie Spalte 1 sein
’ bzw. Spalte 1 immer halb so groß wie Spalte 2
’ Spalten und Formeln können beliebig angepasst werden
If Target.Column = 1 Then 'Eintrag in Spalte 1
Target.Offset(0, 1).Value = Target.Value * 2 'Berechnung von Spalte 2
ElseIf Target.Column = 2 Then ’ Eintrag in Spalte 2
Target.Offset(0, -1).Value = Target.Value / 2 'Berechnung von Spalte 1
Else
End If
End Sub

Experten für Excel gibt seit vielen Jahren hier: http://www.online-excel.de/excel/singsel.php?f=24

Es gibt noch eine weitere Lösung, die auch ohne VBA auskommt. Dazu legt man die beiden Eingabezellen für die Höhe-1 (A1) und die Höhe-2 (A2) an ohhne dort eine Formel einzutragen. Für die Weiterverarbeitung gibt es beide Zellen noch einmal (A4 und A5), die beide Formeln enthalten. Ich mache das immer so, dass Eingabefelder eine bestimmte Hintergrundfarbe besitzen. Bei mir ist das gelb, so wissen auch Fremde sofort, wo etwas eingetragen werden kann (bzw. soll). In der Formelzelle A4 steht dann z.B.: =wenn (A1<>"";A1;A2*3,4) und in der Zelle A5 steht =wenn (A2<>"";A2;A1/3,4). Hierbei bin ich einfach mal davon ausgegangen, dass ein Faktor 3,4 zwischen den beiden Höhenangaben besteht. Wann kann die Sache natürlich auch noch fehlersicherer machen, indem man durch verschachtelte wenns überprüft, ob in beiden Eingabezellen etwas steht und dann einfach das Wort „FEHLER“ in den Formelzellen einblenden.

Viele Erfolg bei der weiteren Arbeit mit EXCEL
SISA

das habe ich in einem Projekt auch so gelöst; ggf. kann man ja die „Auswertungszellen“ ausblenden

Danke für die Antworten. Das mit dem Makro im Tabellenblatt habe ich nicht verstanden. Ich habe so etwas noch nie gemacht. Ich kann mein Problem auch genauer schildern. Ich gebe in einer Zelle gegebenenfalls eine Bezugshöhe ein, z. B. A1 = 50,00 und B1 = m ü. NN. Jetzt habe ich die 2 Spalten z. B. Spalte C und D. In C1 gebe ich z. B. 49,00 ein. Dann soll in D berechnet werden D1 = c1-A1 = -1,00. Anders herum soll es so sein, dass wenn ich in z. B. D2 = -2,00 eingebe, jetzt C1 mit C1 = A1-C1 berechnet wird, also C1 = 48,00. Wenn nachher eine Tabellenblatt von einem Nutzer geöffnet wird, dann wird die Höhe entweder in „m. ü. NN“ oder in „m“ eingegeben. Es wird innerhalb des Tabellenblattes nicht variiert. Die Nutzer haben teilweise keine Ahnung von Excel, sprich manche Nutzer geben nur die Werte ein. Der Rest sollte automatisch geschehen. Spalten nachträglich auszublenden ist dann schon zu viel. Beste Grüße, Ralf

Wenn du kein VBA kannst, ist die beste Lösung die von sisa_kfg.

Hallo Bauigel;

mit diesem Link hier bekommst du ein paar Ideen, wie man so etwas gestalten kann:

https://dl.dropboxusercontent.com/u/101976763/EXCEL.xlsx

Die Funktion "Bedingte Formatierung ermöglicht das Verschwinden von Eingabefeldern

Viele Grüße
Sisa

Hallo,

ich habe das Problem so verstanden:

A1 = Zahl1
C1 = Zahl2
B1 = Angabe nach der festgelegt wird welche Zahl von der anderen abgezogen werden soll
D1 = Ausgabe

Dazu fallen mir zwei Lösungen ein:

  1. Wenn „m“ immer eine positive und „m. ü. NN;m“ immer eine negative Zahl ist, könntest du einfach B1 weglassen bzw. automatisch eintragen lassen, in der nächsten Zelle deine zweite Zahl eintragen und die Ausgabezelle (ich gehe von C1 für die zweite Zahl und D1 für die Ausgabe aus) würde so aussehen:

    =wenn(C1<0;A1-C1;C1-A1)


  1. Dropdownliste über Datenüberprüfung

Wähle B1 aus, unter dem Reiter Daten auf Datenüberprüfung. In den Einstellungen Liste auswählen, „Leere Zellen ignorieren“ abwählen, „Zellendropdown“ bleibt angewählt und als Quelle „m. ü. NN;m“ (ohne " ). Wenn du willst kannst du noch bei Eingabemeldung etwas eintragen. Wenn der Nutzer die Zelle auswählt hat er jetzt eine Dropdownliste aus der er nur die zwei Angaben auswählen darf, außerdem wird bei ausgewählter Zelle ein Infofenster angezeigt wenn du eine Eingabemeldung erstellt hast. Die Formel in D1 lautet dann so:

=wenn(B1="m. ü. NN";C1-A1;A1-C1)

Ich hoffe ich habe dein Problem richtig verstanden und konnte weiterhelfen.

Gruß
Tobias