Thema Datum  Von Nutzer Rating
Antwort
26.08.2009 17:58:53 Felix
NotSolved
Blau Aw:Makro in Funktion umwandeln
27.08.2009 09:28:24 Holger
NotSolved
27.08.2009 10:07:11 Felix
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
27.08.2009 09:28:24
Views:
873
Rating: Antwort:
  Ja
Thema:
Aw:Makro in Funktion umwandeln
Hallo Felix,
du verwendest die falschen Variablentypen: Zielwert ist eine Zahl (eben der Zielwert), AnfangsWert und Zelle sind Strings (eben die Zellbezeichnungen), auf die sich die Range-Befehle in deiner Funktion beziehen:
Public Function Schleif(Zielwert As Long, AnfangsWert As String, Zelle As String)
Range(AnfangsWert).GoalSeek Goal:=Zielwert, ChangingCell:=Range(Zelle)
Schleif = Range(Zelle).Value
End Function
Als Beispiel seien deine Formel in D1 (z.B. =E1*E1-100), in E1 sei der Startwert, (z.B. 1) und der Zielwert mit 10 festgelegt .
Sub Test_Scheif()
a = Schleif(10, "D1", "E1")
End Sub
Ich halte die Bezeichnung "Anfangswert" für irreführend, weil hier die Formel/zu lösende Gleichung gemeint ist.
Sieh dir auch "SolverOK" in der VBA-Hilfe an, um z.B. die Genauigkeit einzustellen.
Gruß
Holger


Felix schrieb am 26.08.2009 17:58:53:

Hallo,

beschäftige mich ganz neu mit der Thematik "VBA". ;(

Möchte einfach den aufgenommen Makro in eine Funktion umwandeln:

Sub Makro1()
'
' Makro1 Makro
Range("D45").GoalSeek Goal:=Range("D46"), ChangingCell:=Range("D43")

End Sub

Hoffe, dass ist nicht peinlich..das ist meine Idee:


Public Function Schleif(Zielwert As Range, AnfangsWert As Range, Zelle As Range)


Range("Anfangswert").GoalSeek Goal:=Range("Zielwert"), ChangingCell:=Range("Zelle")

Wert = Zelle.Value

Schleif = Wert


End Function

Nur klappt das nicht so..;(

Mfg Felix

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.08.2009 17:58:53 Felix
NotSolved
Blau Aw:Makro in Funktion umwandeln
27.08.2009 09:28:24 Holger
NotSolved
27.08.2009 10:07:11 Felix
NotSolved