Office: Taschenrechner

Helfe beim Thema Taschenrechner in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; hallo ich habe in excel vba einen taschenrechner programmiert der von der theorie her die grundrechenarten und sin,cos und tan kann die sache ist nun... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von User, 26. Februar 2011.

  1. Taschenrechner


    hallo ich habe in excel vba einen taschenrechner programmiert der von der theorie her die grundrechenarten und sin,cos und tan kann die sache ist nun beim ausführen erhalten ich den laufzeitfehler 28 "nicht genügend stapelspeicher" weiß jemand wie das zu beheben ist? hier wie ich es gemacht habe
    Option Explicit
    Dim Pi As Double
    Dim digi As Integer

    Private Sub CBT_Cos_Click()
    If zahl(TBX_Winkel) Then
    BEZ_Ergebniss_Winkel = Round(Cos(winkelUmr), digi)
    End If
    End Sub

    Private Sub CBT_Geteilt_Click()
    If TBX_erste = 0 Then
    MsgBox "durch Null ist nicht teilbar"
    ElseIf zahl(TBX_erste.Value) And zahl(TBX_zweite.Value) Then
    BEZ_Ergebniss = CDbl(TBX_erste.Value) / CDbl(TBX_zweite.Value)
    End If
    End Sub

    Private Sub CBT_Mal_Click()
    If zahl(TBX_erste.Value) And zahl(TBX_zweite.Value) Then
    BEZ_Ergebniss = CDbl(TBX_erste.Value) * CDbl(TBX_zweite.Value)
    End If
    End Sub

    Private Sub CBT_Minus_Click()
    If zahl(TBX_erste.Value) And zahl(TBX_zweite.Value) Then
    BEZ_Ergebniss = CDbl(TBX_erste.Value) - CDbl(TBX_zweite.Value)
    End If
    End Sub

    Private Sub CBT_Plus_Click()
    If zahl(TBX_erste.Value) And zahl(TBX_zweite.Value) Then
    BEZ_Ergebniss = CDbl(TBX_erste.Value) + CDbl(TBX_zweite.Value)
    End If
    End Sub
    Private Sub CBT_Sin_Click()
    If zahl(TBX_Winkel) Then
    BEZ_Ergebniss_Winkel = Round(Sin(winkelUmr), digi)
    End If
    End Sub

    Private Sub cbt_Tan_Click()

    If zahl(TBX_Winkel) Then
    BEZ_Ergebniss_Winkel = Round(Tan(winkelUmr), digi)
    End If


    End Sub


    Private Sub TBX_Winkel_Change()

    End Sub

    Private Sub UserForm_Activate()
    Pi = Atn(1) * 4
    digi = 2
    End Sub
    Private Function winkelUmr()

    If OBT_Deg = True Then
    winkelUmr = CDbl(TBX_Winkel) / 360 * 2 * Pi
    ElseIf Obt_Rad = True Then
    winkelUmr = CDbl(TBX_Winkel)
    ElseIf Obt_Gra = True Then
    winkelUmr = CDbl(TBX_Winkel) / 400 * 2 * Pi
    End If
    End Function

    Private Function zahl(inhalt As String) As Boolean
    If zahl(inhalt) Then
    zahl = True


    Else
    MsgBox " Keine Buchstaben und Sonderzeichen"
    zahl = False
    End If

    End Function

    :)
     
  2. Hallo ?,

    in deiner Funktion ZAHL() rufst du dieselbe rekursiv auf!




    Gruß Sepp
     
    josef e, 28. Februar 2011
    #2
  3. is schonma nicht schlecht könntest du mir das erklären bzw nen lösungsansatz geben?
     
  4. Taschenrechner

    Hallo ?,

    Lösungsansatz? Na einfach den rekursiven Aufruf rausnehmen und stattdessen eine sinnvolle Funktion daraus machen. Z. B. mit IsNumeric() wobei du ggf. bei , und/oder . aufpassen musst.




    Gruß Sepp
     
    josef e, 28. Februar 2011
    #4
  5. ahh okay danke dir habs gecheckt und verbessert ich weiß hätt ich gleich drauf kommen können
     
Thema:

Taschenrechner

Die Seite wird geladen...
  1. Taschenrechner - Similar Threads - Taschenrechner

  2. In Excel von Bogenmaß nach Neugrad rechnen (Taschenrechner Anzeige GRAD)

    in Microsoft Excel Hilfe
    In Excel von Bogenmaß nach Neugrad rechnen (Taschenrechner Anzeige GRAD): Hallo Leute! Wie alle hier habe ich ein kleines Problem, und es wäre echt toll, wenn ihr mir helfen könntet. Ich habe eine kleine Vermessungsaufgabe, die ich für eine Prüfung via Excel lösen...
  3. Zahlen in einer Zelle aufaddieren wie Taschenrechner

    in Microsoft Excel Hilfe
    Zahlen in einer Zelle aufaddieren wie Taschenrechner: Hallo, habe folgendes Problem: Ich muss in einer Zelle einer Tabelle mehrere Werte (z.B. mtl. Haushaltsausgaben) eingeben. Diese Werte sollten zu dem bereits vorhandenen Zellinhalt...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden