Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zwei Massen mit VBA Excel ausrechnen

Zwei Massen mit VBA Excel ausrechnen
12.05.2008 14:58:03
toni
Hallo,
kann mir jemand bitte helfen diese Aufgabe in VBA Excel zu programmieren , da ich seit zwei Tage mich damit beschäftigt habe dies hinzukriegen aber ich habe leider dazu keine Vorkentnisse und komme nicht weiter.
Danke im vorraus!
1) Erstellen Sie ein Programm das die Berechnung des Gewichts von Kegeln und Pyramiden aus Stahl bzw. Granit ermöglicht: Zu Beginn Ihres Programms programmieren Sie eine Anweisung, die Ihren Vornamen, Nachnamen und die Matrikelnummer ausgibt. Diese Anweisung fügen Sie bitte allen Programmen hinzu, die Sie mir zur Bewertung zusenden. Anschließend soll das Programm den Benutzer fragen ob er das Gewicht eines Kegels oder einer Pyramide berechnen will. In Abhängigkeit von der Auswahl (betätigte Taste) sollen die Berechnungen entweder für Pyramiden oder Kegel durchgeführt werden. Es müssen dabei jeweils zwei Berechnungen für die Stoffe Stahl und Granit erfolgen. Beide Werte geben Sie dann in einem Fenster aus, dann endet das Programm. Für die Berechnungen müssen Sie die entsprechenden Werte einlesen. Für die Kegelberechnung sind das zwei Werte (Radius und Höhe) und für die Pyramidenberechnung ein Wert (Grundkante). Alle Werte sollen in „mm“ eingegeben werden. Die Zahlen für „pi“ und „Dichte“ deklarieren Sie als Konstanten. Ihr Programm soll mit gebrochenen Zahlen rechnen können. Alle Variablen deklarieren Sie am Anfang des Programms mit einem entsprechenden Typ.
m = 2/3*a^3*Dichte
m = r^2*pi/3*h* Dichte
Dichte von Stahl 7855 kg/m^3
Dichte von Granit 2800 kg/m^3
2) Fehler abfangen Testen Sie Ihr Programm mit Werten und ohne Eingabe von Werten. Beim betätigen der „Abbrechen“ Taste, oder wenn nichts eingegeben wurde, gleichgültig in welchem Fenster soll das Programm eine Meldung ausgeben (wie weiter unten dargestellt).
3) Auswahlfenster, Eingabefenster, Ausgabefenster und Abbruchfenster So sollen Ihre Fenster aussehen: Das Auswahlfenster:
Das Auswahlfenster:
("Ja = Das Gewicht von regelmäßigen vierseitigen Piramiden berechnen." & vbCrLf & "Nein = Das Gewicht von geraden Kegeln berechnen.", 35, "Gewicht einer Pyramide")
Ein Eingabefenster (Pyramide):
("Die Länge der Grundkante in (mm) eingeben!", "Gewicht einer Pyramide")
Ein Eingabefenster (Kegel):
("Den Radius in (mm) eingeben!", "Gewicht eines Kegels")
Das Fenster für die Eingabe der Höhe sollte entsprechend aussehen!
Ausgabefenster (Pyramide):
("Das Gewicht der Pyramide aus Stahl beträgt: ... ", "Gewicht einer Pyramide")
Ausgabefenster ( Kegel):
("Das Gewicht der Pyramide aus Granit beträgt: ... ", "Gewicht eines Kegels")
Abbruchfenster:
("Das Programm wurde abgebrochen oder es wurde kein Wert eigegeben", "!!!Programmabbruch!!!")
Den Anfang habe ich programmiert
"Zu Beginn Ihres Programms programmieren Sie eine Anweisung, die Ihren Vornamen, Nachnamen und die Matrikelnummer ausgibt."

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zwei Massen mit VBA Excel ausrechnen
12.05.2008 16:49:40
Josef
Hallo Toni,
eine Möglichkeit.
Sub KegelUndPyramiden()
Dim resStahl As Double, resGranit As Double, msgResult As Long
Dim a As Double, h As Double, r As Double
Dim strMsg As String, strTitle As String

Const cvName As String = "Vorname" 'Vorname
Const cnName As String = "Nachname" 'Nachname
Const cMatrikel As String = "12345" 'Matrikelnummer
Const cStahl As Long = 7855 'Dichte von Stahl in kg/m^3
Const cGranit As Long = 2800 'Dichte von Granit in kg/m^3
Const PI As Double = 3.14159265358979 'Pi

On Error GoTo ErrExit

MsgBox "Vorname:" & vbTab & vbTab & cvName & vbLf & "Nachname:" & vbTab & cnName & vbLf & "Matrikelnummer:" & _
    vbTab & cMatrikel & Space(35), vbInformation, "Programminfo"


msgResult = MsgBox("Ja = Das Gewicht von regelmäßigen vierseitigen Piramiden berechnen." & _
    vbLf & "Nein = Das Gewicht von geraden Kegeln berechnen.", 35, "Gewicht einer Pyramide")

If msgResult = vbYes Then
    a = Application.InputBox("Die Länge der Grundkante in (mm) eingeben!", "Gewicht einer Pyramide", Type:=1) / 1000
    If a <= 0 Then GoTo ErrExit
    resStahl = Round(2 / 3 * a ^ 3 * cStahl, 2)
    resGranit = Round(2 / 3 * a ^ 3 * cGranit, 2)
    strMsg = "Das Gewicht der Pyramide aus Stahl beträgt:" & vbTab & Format(resStahl, "#,##0.00 kg") & vbLf & _
        "Das Gewicht der Pyramide aus Granit beträgt:" & vbTab & Format(resGranit, "#,##0.00 kg") & Space(25)
    strTitle = "Gewicht einer Pyramide"
ElseIf msgResult = vbNo Then
    h = Application.InputBox("Den Radius in (mm) eingeben!", "Gewicht eines Kegels", Type:=1) / 1000
    If h <= 0 Then GoTo ErrExit
    r = Application.InputBox("Die Höhe in (mm) eingeben!", "Gewicht eines Kegels", Type:=1) / 1000
    If r <= 0 Then GoTo ErrExit
    resStahl = Round(r ^ 2 * PI / 3 * h * cStahl, 2)
    resGranit = Round(r ^ 2 * PI / 3 * h * cGranit, 2)
    strMsg = "Das Gewicht des Kegels aus Stahl beträgt:" & vbTab & Format(resStahl, "#,##0.00 kg") & vbLf & _
        "Das Gewicht des Kegels aus Granit beträgt:" & vbTab & Format(resGranit, "#,##0.00 kg") & Space(25)
    strTitle = "Gewicht eines Kegels"
End If
If strMsg <> "" Then
    MsgBox strMsg, vbInformation, strTitle
    Exit Sub
End If

ErrExit:
MsgBox "Das Programm wurde abgebrochen oder es wurde kein gültiger Wert eigegeben", vbExclamation, "!!!Programmabbruch!!!"
End Sub



Gruß Sepp



Anzeige
OT Überraschung
12.05.2008 18:33:00
Reinhard
Hallo Sepp,
so wie ich die Anfrage von Toni interpretiert habe wird sein Lehrer sehr sehr überrascht sein daß Toni so einen Code abliefert *kicher*
Haste keine Version mit Select o.ä und zwei drei kleinen Logikfehlern drin damit das nicht so auffällt und er seine *hüstel* wohlverdiente 3 bekommt?
Lieben Gruß
Reinhard

AW: OT Überraschung
12.05.2008 19:08:00
Nepumuk
Hallo Reinhard,
ich denke, die drei von Sepp absichtlich untergejubelten "Einbuchstabenvariablen" geben dem ganzen doch ein ausreichend stümperhaftes Aussehen. So dass es dem Lehrer garantiert nicht auffällt. :-)
Gruß
Nepumuk

Anzeige
A h r - meinst Du DAS fällt dem Lehrer auf ?
13.05.2008 00:18:04
NoNet
Hey Nepumuk,
die Wahrscheinlichkeit spricht wohl eher DAGEGEN, dass Tonis Lehrer die EINfachen Variablenbezeichnungen a, h, r auffallen . Ich glaube daher nicht, dass jede dieser Variablen eine halbe Note Abzug ergibt :-D
Nicht jeder programmiert so professionell wir Du oder hält sich sogar an die Ungarische Notation (ich übrigens auch nicht )
Wünsche einen schönen "Rest"-Wochenanfang,
NoNet

AW: Zwei Massen mit VBA Excel ausrechnen
12.05.2008 18:44:00
toni
uuuuaaaaaauuuuu ganz herzlichen Dank Josef. Ich finde sehr nett von Dir, dass du mir innerhalb dieser kurzen Zeit antwortest und das auch noch mit der Aufgabenlösung.
Einen wunderschönen Abend wünsche ich Dir!
Herzliche Grüße, Toni

Anzeige
AW: Zwei Massen mit VBA Excel ausrechnen
12.05.2008 19:15:20
toni
ich würde gerne wissen wie der Struktogramm zur dieser Aufgabe aussieht.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige