Microsoft Excel

Herbers Excel/VBA-Archiv

Test | Herbers Excel-Forum


Betrifft: Test von: Julian T.
Geschrieben am: 10.11.2009 22:43:27

Liebe Leute,

ich bin mal wieder mit meinem Latein am Ende, folgendes problem stellt sich mir:

auf einem sheet habe ich 6 parameter,
nach einem click auf einen button wird ein neues blatt geöffnet und mit diesen parameter soll eine funktion "SvenssonRate" zusammengesetzt und "runtergezogen" werden

Sub Ergebnis_einfuegen()

Dim i As Integer
Dim Anhaengen As Boolean
Dim ratingCategory, BlattName As String
Dim beta_0, beta_1, beta_2, beta_3, tau_1, tau_2 As Double
Dim datum As Date


datum = Range("B1").Value
ratingCategory = Range("B2").Value

'svensson parameter aus aktuellem blatt auslesen

beta_0 = Range("B4").Value
beta_1 = Range("B5").Value
beta_2 = Range("B6").Value
beta_3 = Range("B7").Value
tau_1 = Range("B8").Value
tau_2 = Range("B9").Value

BlattName = "Ergebnisse " & ratingCategory

'checken ob schon ein sheet für die Ratingklasse existiert

For i = 1 To Worksheets.Count
If Sheets(i).Name = BlattName Then
Anhaengen = True
Exit For
End If
Anhaengen = False
Next i

If Anhaengen = False Then 'dann neues blatt erstellen
Sheets("Ergebnismaster").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = BlattName
End If

Sheets(BlattName).Activate

Dim a As Integer

a = ActiveSheet.UsedRange.Columns.Count+1 'erste freie spalte ermitteln
Cells(1, a).Value = datum 'datum schreiben

Cells(2, a).Value = "=SvenssonRate(A2; beta_0; beta_1; beta_2; beta_3; tau_1; tau_2 )" 'formel schreiben, PROBLEM

Set SourceRange = Range(Chr(64 + a) & "2")
Set fillRange = Range(Chr(64 + a) & "2:" & Chr(64 + a) & "301")
SourceRange.AutoFill Destination:=fillRange

a) Gibt es eine (elegantere) möglichkeit einem Button parameter für die aufzurufende Funktion mitzugeben, je nachdem auf welchem sheet er sich befindet (also hier die 6 SvenssonParameter)?

b) VBA scheint allergisch auf semikolons in strings zu reagieren, kann man die irgendwie escapen oder ist das endgültig?

c) Gibt es vielleicht noch irgendeine viel einfachere lösung, die ich einfach nicht sehe?

Beste Grüße,

Julian

  

Betrifft: AW: Test von: Fettertiger
Geschrieben am: 11.11.2009 01:44:45

Hallo Julian,

bin jetzt leider um diese Zeit (es ist halb zwei Nachts) nicht mehr so richtig in der Lage das so richtig zu durchschauen, speziell zu C müsste ich wohl ergooglen was Svensson Rate überhaupt ist :-).

Zur Frage b9 kann ich aber vielleicht schon mal was Beitragen:

anstelle von: Cells(2, a).Value = "=SvenssonRate(A2; beta_0; beta_1; beta_2; beta_3; tau_1; tau_2 )"
solltest Du entweder schreiben: Cells(2, a).Formula = "=SvenssonRate(A2, beta_0, beta_1, beta_2, beta_3, tau_1, tau_2 )" (also mit Kommas) oder alternativ: Cells(2, a).formulalocal = "=SvenssonRate(A2; beta_0; beta_1; beta_2; beta_3; tau_1; tau_2 )" (also mit semikolons)

Anders gesagt, VBA geht davon aus man verwendet englische Befehle, und damit auch die Trennung mit Kommas. Will man aber partout in der deutschen Syntax bleiben, dann kann man auch die Formulalocal verwenden. Nachteilig dabei ist natürlich, dass die FormulaLocal auf "fremdsppachigen" Systemen zu ungewollten Ergebnissen (Programmfehler) führen kann.

Grüße und guts Nächtle

Fettertiger


  

Betrifft: AW: Test von: Julian T.
Geschrieben am: 11.11.2009 13:08:49

Danke Fettiger, das ist genau was ich gesucht habe, woher wisst ihr nur alle so viel?


  

Betrifft: Warum tun hier manche so als ob sie... von: Luc:-?
Geschrieben am: 11.11.2009 04:38:09

..die Ersten seien, die ein spezifisches Problem haben, Julian,
das Forum existiert seit 10 Jahren, das WWW noch länger und xl mehr als doppelt so lange...
Die Antwortenredundanz des Forums bzgl Formeln mit VBA eintragen ist beträchtlich wie man unschwer bei einer Archivrecherche (Alle Recherchen) erkennen könnte...
Nebenbei: Habt ihr Rating-Agenten eigentlich ein gutes Gewissen bei dem, was ihr so treibt, oder geht's hier um Lars E.O. Svensson und The Instrument-Rate Projection under Inflation Targeting... :->...?
Gruß Luc :-?


  

Betrifft: AW: Warum tun hier manche so als ob sie... von: Julian T.
Geschrieben am: 11.11.2009 13:07:31

@ Luc

zu meiner Verteidigung kann ich dir versichern nach "Formeln aus string zusammensetzen" und diversen variationen gesucht zu haben.. unscharfe suche im forum wäre cool

Btw..

Ich bin kein Analüst aber glaube deren Gewissen ändert sich je nach Geldgeber :P
das schärfste ist, ich sitzte direkt neben der Investorrelationsabteilung, 75% der Anrufe sind Analüsten die gerne vom zu bewertenden Unternehmen (großer Automobilhersteller) ihre prognose bestätigt haben wollen ^^ dass sagt wohl ne menge über deren wissensstand aus und seitdem interessiert mich deren analyseflash nicht mehr die bohne :) wahrscheinlich nutzen die zugehörigen banken sogar die verursachten kursbewegungen in einer art insiderhandel ...


  

Betrifft: ...Das würde mich auch gar nicht wundern! orT von: Luc:-?
Geschrieben am: 11.11.2009 18:46:54

Gruß Luc :-?