Test
Julian
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