Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

falscher SIN Wert | Herbers Excel-Forum


Betrifft: falscher SIN Wert von: drKnilch
Geschrieben am: 25.01.2012 10:32:20

Hallo zusammen.

Ich habe folgendes Problem:

Wenn ich folgenden Code starte, erscheint die Msgbox mit dem Wert "-0,388". (Sinus von 75Grad).
Der Taschenrechner sagt dazu aber "0,966)

Das wird wohl mal wieder was mit dem lästigen RAD- Problem sein, oder?

Hier mal der Code:

  • 'Berechnung
    Private Sub Makro1()
    
    Dim Arm1Lang, Arm1Kurz, WinkelArm1, Arm1Dia, Arm2_mit_Hebel, HebelArm2 As Double
    Dim Ende_Urs, Rechenueber, Rechenhoe, Sockelhoe, Podesthoe, Rechenlaenge, Rechenwinkel As  _
    Double
    Dim Alpa, Beta, Gamma As Double
    
    
    With Worksheets("Tabelle1")
    
    'Variablenzuweisung:
    
    Rechenueber = (.Range("C4").Value - .Range("C6").Value)   'Rechenüberstand
    Rechenhoe = .Range("C4").Value                          'Rechenhöhe vertikal
    Rechenwinkel = .Range("C5").Value
    Podesthoe = .Range("C6").Value
    Arm1Kurz = .Range("C11").Value                          'Arm1 kurzes Stück
    Sockelhoe = .Range("C16").Value                         'Sockelhöhe
    Ende_Urs = .Range("C17").Value                          'RechenEnde/Ursprung, horizontal
    
    
    If Rechenhoe < Podesthoe Then
        MsgBox "Rechenhöhe kleiner Podesthöhe!"
        GoTo theEnd
    End If
    
    'Berechnungen:
    
    Rechenlaenge = Rechenhoe / VBA.sin(Rechenwinkel)
    MsgBox sin(.Range("C5")) 'sin(Rechenwinkel)
    Arm1Dia = Ende_Urs - ((Rechenueber - Sockelhoe) * 0.5)
    Arm2_mit_Hebel = 1.25 * (Rechenlaenge + (1 / 3) * Ende_Urs)
    HebelArm2 = 0.25 * Arm2_mit_Hebel
    
    
    'Ergebniszuweisung:
    
    .Range("C14") = Arm2_mit_Hebel
    .Range("C15") = HebelArm2
    
    End With
    
    Worksheets("Tabelle2").Range("B6").Value = Arm1Dia
    Worksheets("Tabelle2").Range("B8").Value = Rechenueber
    
    
    theEnd:
    End Sub


  • Ich hoffe, ihr könnt mir weiter helfen, wie ich den Code soweit ändern kann, dass ein richtiges Ergenis rauskommt...

    besten Dank

      

    Betrifft: AW: falscher SIN Wert von: Josef Ehrensberger
    Geschrieben am: 25.01.2012 10:56:44


    Hallo ?,

    vielleicht so.

    Const dblPI = 9.42477796076938
    Rechenlaenge = Rechenhoe / VBA.Sin(Rechenwinkel / 180 + dblPI)
    MsgBox Sin(.Range("C5") / 180 * dblPI) 'sin(Rechenwinkel)





    « Gruß Sepp »



      

    Betrifft: AW: falscher SIN Wert von: drKnilch
    Geschrieben am: 25.01.2012 11:16:04

    Leider nicht. Ergebnis: Msgbox: "-0,707"

    :-/


      

    Betrifft: sollte * statt + heißen! Sorry! o.T. von: Josef Ehrensberger
    Geschrieben am: 25.01.2012 11:24:08

    « Gruß Sepp »



      

    Betrifft: und wenn man dann noch... von: Josef Ehrensberger
    Geschrieben am: 25.01.2012 11:32:30


    ... den richtigen Wert für Pi einsetzt, dann stimmts'! (k. A. warum ich da 3*Pi als Konstante eingegeben hab!?)

    Const dblPI = 3.14159265358979

    MsgBox Sin(75 * dblPI / 180) 'sin(Rechenwinkel)





    « Gruß Sepp »



    Beiträge aus den Excel-Beispielen zum Thema "falscher SIN Wert"