07.01.2022, 10:17 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2022, 10:20 von JH97.
Bearbeitungsgrund: Tabelle wurde nicht eingefügt
)
Guten Tag,
ich habe eine Frage zu sogenannten Margenrechnern.
Wir arbeiten z.Zt. mit diesen Format:
Um unsere Marge auf Minimum 30% anzupassen müssen wir den Angebotspreis verändern.
Mit welcher Formel ist es mir möglich, die Marge nach belieben zu verändern (z.b. 55 Marge) und die Summe des Angebotspreises sich der veränderten Marge anpasst.
Interpunktion und Orthographie dieses Textes sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
07.01.2022, 11:16 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2022, 11:32 von {Boris}.)
Hi,
Du kannst per VBA die Zielwertsuche über mehrere Zellen durchführen. Im Beispiel H3:H6 - das musst Du anpassen.
Code:
Sub Zielwertsuche() Dim C As Range, dblZielwert As Double dblZielwert = Application.InputBox(prompt:="Zielwert eingeben", Title:="Zielwertsuche", Type:=1) If dblZielwert <> 0 Then For Each C In Range("H3:H6") If C.HasFormula Then C.GoalSeek Goal:=dblZielwert, ChangingCell:=Cells(C.Row, 2) End If Next C End If End Sub
[EDIT]: Code noch leicht geändert: Falls die Inputbox mit Abbrechen bestätigt wird, passiert jetzt nix. Und wichtig: Falls die Zielwerte ein mal ermittelt sind, sind die bisherigen Angebotspreise futsch.
Du kannst per VBA die Zielwertsuche über mehrere Zellen durchführen. Im Beispiel H3:H6 - das musst Du anpassen.
Code:
Sub Zielwertsuche() Dim C As Range, dblZielwert As Double dblZielwert = Application.InputBox(prompt:="Zielwert eingeben", Title:="Zielwertsuche", Type:=1) For Each C In Range("H3:H6") If C.HasFormula Then C.GoalSeek Goal:=dblZielwert, ChangingCell:=Cells(C.Row, 2) End If Next C End Sub
Kannst du es einfacher erklären so dass wir es Ausführen können?
In das sich öffnende leere Fenster den Code reinkopieren
VBA-Editor wieder schließen
Im Tabellenblatt einen Button einfügen über "Entwicklertools" - Steuerlemente - Einfügen - Formularsteuerelemente - Schaltfläche
Rechtsklick auf die eingefügte Schaltfläche - Makro zuweisen - "Zielwertsuche" auswählen und mit OK bestätigen
Falls die Registerkarte "Entwicklertools" bei Dir nicht vorhanden sein sollte: Datei - Optionen - Menüband anpassen - Haken bei "Entwicklertools" setzen.
07.01.2022, 12:22 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2022, 12:32 von JH97.)
(07.01.2022, 12:03){Boris} schrieb: Hi,
VBA-Editor mit Alt+F11 öffnen
Dann oben "Einfügen" - "Modul"
In das sich öffnende leere Fenster den Code reinkopieren
VBA-Editor wieder schließen
Im Tabellenblatt einen Button einfügen über "Entwicklertools" - Steuerlemente - Einfügen - Formularsteuerelemente - Schaltfläche
Rechtsklick auf die eingefügte Schaltfläche - Makro zuweisen - "Zielwertsuche" auswählen und mit OK bestätigen
Falls die Registerkarte "Entwicklertools" bei Dir nicht vorhanden sein sollte: Datei - Optionen - Menüband anpassen - Haken bei "Entwicklertools" setzen.
Leider Kommt ein Bezugsfehler am ende (Laufzeitfehler `1004`) Wir haben die Marge in der 16 Spalte davor kommen einige Spalten mit Zeichen und Zahlen eventuell hilft diese Info.
das ist auch nicht mein Code. Die ChangingCell hast Du mit Cells(C.Row, 8) angegeben - 8 ist aber Spalte H - und da stehen doch die Formeln drin. Es muss die Spalte mit den Angebotspreisen sein - in Deinem ersten Bild war das Spalte B - also 2. Lad doch mal Deine Mappe mit Deiner EXAKTEN Struktur hoch. Sensible Daten vorher löschen.