Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1100to1104
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zielwertsuch für Fortgeschrittene

Zielwertsuch für Fortgeschrittene
Maria
Hallo an alle,
ich habe hier ein Problem bei dem ich Eure Hilfe bräuchte.
Ich habe in einem Excel-File Werte in den Spalten A - Q und S (in mehreren Tabellenblätter). Jede Zeile bildet dabei ein eigender Datensatz. In Spalte R wird mit Hilfe einer Formel (eingefügt über VBA) ein Wert errechnet, die auf die Spalten A und S sowie Zellen R2,S2 und T2 zugreift. Jetzt hab ich das Problem, dass der Wert in Spalte S so verändert werden muss, dass das Ergebnis in Spalte R dem in Spalte N entsprechen muss. Der Wert in Spalte N ist quasi mein Endwert, den ich Bestimmen muss.
Beispiel:
Zur Berechnung wird der Wert von A4, S4, R2, S2 und T2 benötigt. Diese werden in die Formel über den Formel-Assistent geladen. Die Formel steht in R4. Über die Zielwertsuche kann ich dann den Wert in S4 so anpassen, dass die Werte von R4 und N4 übereinstimmen. Die Werte in R2, S2 und T2 sind dabei feste Werte die für jeden Datensatz (Zeile) gleich sind. Nur A4 und S4 sind für jede Zeile (Datensatz) nicht identisch.
Jetzt hab ich hier jedoch das Problem, dass ich weit über tausend Zeilen (Datensätze) habe, die ich nicht alle mit der Zielwertsuche bearbeiten kann.
Hat jemand eine Idee wie ich das bewerkstelligen könnte?
Liebe Grüße
Maria

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zielwertsuch für Fortgeschrittene
07.09.2009 13:15:51
xr8k2
Hallo Maria,
welche Formel steht denn in Spalte R, d.h. was wird denn dort berechnet?
Kann man nicht vielleicht die Formel umstellen, dass man z.B. auf Grundlage der Zellen A4, N4, R2, S2 und T2 ein Ergebnis in Zelle S4 bekommt?
Gruß,
xr8k2
AW: Zielwertsuch für Fortgeschrittene
07.09.2009 13:32:41
fcs
Hallo Maria,
die Zielwertsuche kannst du auch per Makro automatisieren.
Gruß
Franz
Sub Spalte_R_Zielwertesuche()
Dim wks As Worksheet, Zeile As Long
For Each wks In ActiveWorkbook.Worksheets
Select Case LCase(wks.Name)
Case "tabelle3", "data"
'do nothing, diese Blätter in Schleife nicht bearbeiten _
Namen in Kleinbuchstaben angeben!!!!
Case Else
With wks
'Ab zeile 4 in Spalte S(19) die Werte ermitteln, so dass _
Wert von Formel in Spalte R(18) = Wert in Spalte N(14)
For Zeile = 4 To .Cells(.Rows.Count, 18).End(xlUp).Row 'letzte Zeile Spalte R
.Cells(Zeile, 18).GoalSeek .Cells(Zeile, 14), .Cells(Zeile, 19)
Next
End With
End Select
Next
End Sub

Anzeige
AW: Zielwertsuch für Fortgeschrittene
07.09.2009 16:06:19
Maria
Hallo Ihr beiden,
ersteinmal Danke für Eure Antworten. Leider kann ich damit nicht viel anfangen, da ich mein Problem anscheind nicht deutlich erläutert habe, bzw. meine nicht vorhandenen VBA-Kenntnisse im Stich lassen.
Ich lade mal das File hoch. Vielleicht wird es dann anschaulicher.
https://www.herber.de/bbs/user/64257.xlsm
Liebe Grüße
Mariche
AW: Zielwertsuch für Fortgeschrittene
07.09.2009 16:19:23
Heiner
Hi,
bitte im xls-Format, wenn möglich.
mfg Heiner
noch offen oT
07.09.2009 18:30:50
Heiner
oT
AW: Zielwertsuch für Fortgeschrittene
08.09.2009 04:12:06
fcs
Hallo Maria,
deine Datei hat verschiedene Probleme.
1. In Spalte N steht der Vergleichswert als Text mit Punkt als Dezimalstelle.
2. In einigen Tabellen ist die Spalte K eine Leerspalte und Spalte N ist nicht die Spalte mit dem "täglichen Abrechnungspreis" z.B. Tabelle "201412C". Dadurch häufig "n/v" in Spalte N
3. In einigen Tabellen sind "komische" Werte in Spalte N z.B. Tabelle "201512C" Zeile 39 und "201512P" Zeile 31.
Den 1. Punkt hab ich durch eine Zahlenkonversion bereinigt. Die Punkte 2 und 3 werden geprüft bzw. als Fehler abgefangen.
Gruß
Franz
P.S. rechnet deine Userdefinierte Funktion in Spalte R wirklich korrekt? Der Wert aus Spalte A wird bei mir (Excel - Deutsche Einstellungen) im Code beim Testen für Wert "x" als Text angezeigt.
Im Blatt "200909C" Zeile 5 wird gerechnet:
a = Log(s / x)
a = Log(2734/"3950.00") = Log(2734/395000)=-4,9731
Sub Spalte_R_Zielwertesuche()
Dim wks As Worksheet, Zeile As Long
On Error GoTo Fehler
For Each wks In ActiveWorkbook.Worksheets
Select Case LCase(wks.Name)
Case "tabelle3", "data"
'do nothing, diese Blätter in Schleife nicht bearbeiten _
Namen in Kleinbuchstaben angeben!!!!
Case Else
With wks
'Ab zeile 4 in Spalte S(19) die Werte ermitteln, so dass _
Wert von Formel in Spalte R(18) = Wert in Spalte N(14)
For Zeile = 4 To .Cells(.Rows.Count, 18).End(xlUp).Row 'letzte Zeile Spalte R
If IsError(.Cells(Zeile, 14)) Or .Cells(Zeile, 14) = "n/v" Then
'do nothing
Else
.Cells(Zeile, 18).GoalSeek Goal:=CDbl(Replace(.Cells(Zeile, 14), ".", ",")), _
ChangingCell:=.Cells(Zeile, 19)
End If
Resume01:
Next
End With
End Select
Next
Fehler:
With Err
If .Number  0 Then
Select Case .Number
Case 1004, 9
'Fehlernummern, die ausgelöst werden, "komische Werte in Spalte N stehen _
oder Formel in Spalte R fehlt
wks.Activate
wks.Rows(Zeile).Select
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description & vbLf & .HelpContext
'Die vorherigen 3 Zeilen auskommetieren, wenn es einigermaßen rund läuft.
Resume Resume01
Case Else
MsgBox "Fehler-Nr. " & .Number & vbLf & .Description & vbLf & .HelpContext
End Select
End If
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige