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

Forumthread: Berechnung mit 3 variablen Spalten

Berechnung mit 3 variablen Spalten
21.07.2004 10:01:09
Klaus
Hallo,
es ist mir, denke ich, nicht ganz geglückt mein Anliegen sinnvoll in den Betreff zu packen... hier mein Problem:
- Gegeben sind Spalten A-D.
- Spalte A enthält einen eingegebenen Wert.
- Die Werte in den Spalten B-D ergeben aufsummiert den Wert in Spalte A.
- Von den Werten in B-D werden 2 eingegeben und der 3. berechnet sich aus den 2 eingegebenen.
- Das Problem ist: Es sollen nicht immer die gleichen 2 Felder von B-D ausgefüllt werden; in einem Fall werden z.B. B+D eingegeben und C soll sich berechnen, im anderen Fall sollen C+D eingegeben werden und B entsprechend berechnet.
Ist das möglich? Wenn ich alle 3 mit Formeln fülle habe ich ja Zirkelbezüge...
Gibt's eine Lösung für mein Problem? Hat jemand eine Idee?
Vielen Dank!
Klaus
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnung mit 3 variablen Spalten
ChrisL
Hi Klaus
So einfach ist es nicht. Im Anhang mal einen Ansatz mit VBA. Sobald nur noch eine Spalte leer ist, wird eine Beispielformel eingetragen.
https://www.herber.de/bbs/user/8749.xls

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column > 1 And Target.Column <= 4 Then
' Prüfen ob eine Zelle leer ist
If WorksheetFunction.CountBlank(Range(Cells(Target.Row, 2), Cells(Target.Row, 4))) = 1 Then
' Falls ja, welche Zelle ist leer
Dim Zelle As Range
For Each Zelle In Range(Cells(Target.Row, 2), Cells(Target.Row, 4))
If Zelle = "" Then Exit For
Next Zelle
Select Case Target.Column
' Formel für Spalte B (Beispiel)
Case 2: Zelle.Formula = "=A" & Target.Row & "/2"
' Formel für Spalte C (Beispiel)
Case 3: Zelle.Formula = "=B" & Target.Row & "/2"
' Formel für Spalte D (Beispiel)
Case 4: Zelle.Formula = "=A" & Target.Row & "*2"
End Select
End If
End If
End Sub

Gruss
Chris
Anzeige
AW: Berechnung mit 3 variablen Spalten
21.07.2004 13:43:24
Klaus
Ich glaube, das Prinzip deiner Formel hab ich verstanden.
Auf meine Tabelle umgesetzt mit den für mich passenden Formeln sieht das so aus:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column >= 4 And Target.Column <= 6 Then
' Prüfen ob eine Zelle leer ist
If WorksheetFunction.CountBlank(Range(Cells(Target.Row, 4), Cells(Target.Row, 6))) = 1 Then
' Falls ja, welche Zelle ist leer
Dim Zelle As Range
For Each Zelle In Range(Cells(Target.Row, 4), Cells(Target.Row, 6))
If Zelle = "" Then Exit For
Next Zelle
Select Case Target.Column
' Formel für Spalte D
Case 4: Zelle.Formula = "=B" & Target.Row & "-E" & Target.Row & "-F" & Target.Row
' Formel für Spalte E
Case 5: Zelle.Formula = "=B" & Target.Row & "-D" & Target.Row & "-F" & Target.Row
' Formel für Spalte F
Case 6: Zelle.Formula = "=B" & Target.Row & "-D" & Target.Row & "-E" & Target.Row
End Select
End If
End If
End Sub

Wenn ich die entstehenden FALSCHEN Formeln bei mir zu interpretieren versuche, komme ich zu dem Schluss, dass mir das "Select Case Target.Column" NICHT die Spalte liefert, die von den dreien noch leer ist, sondern diejenige, die ich zuletzt ausgefüllt habe.
Wenn ich in der Select-Anweisung die noch leere Zelle ansprechen würde, müsste das ganze hinhauen - so wie es jetzt ist, ergibt sich die entstehende Formel aus der Reihenfolge, in der ich die anderen beiden Werte eingebe.
Eine Idee wie ich in die Case-Abfrage den Bezug zur noch leeren Zelle herstellen kann?
Klaus
Anzeige
AW: Berechnung mit 3 variablen Spalten
ChrisL
Hi Klaus
Blöd, habe einen Überlegungsfehler gemacht.
Select Case Zelle.Column
müsste funktionieren
Gruss
Chris
AW: Berechnung mit 3 variablen Spalten
22.07.2004 13:13:46
Klaus
Ja, das war die Lösung (da hätte ich ja eigentlich auch selbst drauf kommen müssen...).
Funktioniert wunderbar. Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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