VBA für Excel -> Double will nicht

VBA für Excel -> Double will nicht | PSD-Tutorials.de

Erstellt von dataworld, 04.07.2008.

  1. dataworld

    dataworld Nicht mehr ganz neu hier

    Dabei seit:
    04.03.2008
    Beiträge:
    85
    Geschlecht:
    männlich
    Ort:
    Weit weit weg
    Software:
    3D Studio Max 2008, Creative Suite 3, ...
    Kameratyp:
    DSLR Sony Alpha 300
    VBA für Excel -> Double will nicht
    Hallo, ich hab ein kleines aber dringendes Problem...

    ich hab ein VB Script für Excel geschrieben welches ganz normale Berechnungen durchführt und dann in Excel wieder ausgibt. klappt auch ganz gut, nur wollte ich diese Berechnung etwas genauer machen und die Zeitintervalle nicht mehr als ganze Zahlen (integer) sondern als double verwenden. wenn ich jetzt aber die Variable time in die Formel einsetze, geht es nicht mehr :'(. Fehler 1002, Prozedursfehler...

    Code (Text):
    1. Public Sub Wurf()
    2.     Dim time As Double
    3.     Dim tTotal As Double
    4.     Dim yValue As Double
    5.     Dim hilf As Integer
    6.     yValue = 0
    7.     time = Cells(5, 3).Value
    8.     time = time / 15
    9.     hilf = 10
    10.     While Not IsEmpty(Cells(hilf, 3).Value)
    11.         Cells(hilf, 3).Value = ""
    12.         hilf = hilf + 1
    13.     Wend
    14.    
    15.     hilf = 10
    16.     For hilf = 10 To 38
    17.         MsgBox time
    18.         Cells(hilf, 3).Formula = "=C3*COS(C2)*" & time
    19.         hilf = hilf + 1
    20.        
    21.         Cells(hilf, 3).Formula = "=C3*" & time & "*SIN(C2)-(C6)/2*POWER(" & time & ",2)"
    22.         yValue = Cells(hilf, 3).Value
    23.         time = time + time
    24.        
    25.      Next hilf
    26.    
    27.      Cells(hilf - 2, 3).Formula = "=(C3*COS(C2)*(C3*SIN(C2)+SQRT(POWER(C3,2)*POWER(SIN(C2),2)+2*C6)))/(C6)"
    28.      Cells(hilf - 1, 3).Value = 0
    29. End Sub
    30.  
    Kann mir wer helfen, wär wichtig...
     
    #1      
  2. TutKit

    TutKit Vollzugriff

    Vollzugriff auf sämtliche Inhalte für Photoshop, InDesign, Affinity, 3D, Video & Office

    Suchst du einen effektiven Weg, um deine Geschäftsideen aber auch persönlichen Kenntnisse zu fördern? Teste unsere Lösung mit Vollzugriff auf Tutorials und Vorlagen/Erweiterungen, die dich schneller zum Ziel bringen. Klicke jetzt hier und teste uns kostenlos!

  3. alexh69

    alexh69 Neuauf- äh -einsteiger :)

    Dabei seit:
    13.11.2007
    Beiträge:
    136
    Geschlecht:
    männlich
    Ort:
    near Ulm
    Software:
    Corel X3-Suite
    Kameratyp:
    Canon PowerShot S5 IS
    VBA für Excel -> Double will nicht
    AW: VBA für Excel -> Double will nicht

    Morgen,

    sag mir doch mal, was du damit erreichen willst und was in Zelle C5 z.B. als Ausgangswert drinsteht. Nur ne Sub ist ja nicht schlecht, aber ein bischen mehr zum Zweck wär nicht schlecht.
     
    #2      
  4. dataworld

    dataworld Nicht mehr ganz neu hier

    Dabei seit:
    04.03.2008
    Beiträge:
    85
    Geschlecht:
    männlich
    Ort:
    Weit weit weg
    Software:
    3D Studio Max 2008, Creative Suite 3, ...
    Kameratyp:
    DSLR Sony Alpha 300
    VBA für Excel -> Double will nicht
    AW: VBA für Excel -> Double will nicht

    Er kommt gar nicht soweit...
    Er gibt mir mit msgbox die Variable Zeit aus und dann kommt der Fehler:

    Laufzeitfehler '1004':
    Anwendungs- oder Objektorientierter Fehler

    Die Fehler kommen hier: Cells(hilf, 3).Formula = "=C3*COS(C2)*" & time
    und hier: Cells(hilf, 3).Formula = "=C3*" & time & "*SIN(C2)-(C6)/2*POWER(" & time & ",2)"

    Wenn ich die Variable time aus der Berechnung nehme funktioniert es...
     
    #3      
  5. alexh69

    alexh69 Neuauf- äh -einsteiger :)

    Dabei seit:
    13.11.2007
    Beiträge:
    136
    Geschlecht:
    männlich
    Ort:
    near Ulm
    Software:
    Corel X3-Suite
    Kameratyp:
    Canon PowerShot S5 IS
    VBA für Excel -> Double will nicht
    AW: VBA für Excel -> Double will nicht

    das Problem liegt darin, das Cells einen String erwartet. anscheinend kann Cells noch mit Interger umgehen, das Komma macht ihm dann den Ärger. Wandel deine time-Variable einfach in String um, funktionieren tut es trotzdem, da die Formel den Wert dann wieder richtig interpretiert:

    Cells(hilf, 3).Formula = "=C3*COS(C2)*" & Str(time)

    Cells(hilf, 3).Formula = "=C3*" & Str(time) & "*SIN(C2)-(C6)/2*POWER(" & Str(time) & ",2)"
     
    #4      
Seobility SEO Tool
x
×
×