[Visual Basic] Excel Makro, einfache Sache FOS 12. Klasse

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Darkstar., 15. Dezember 2011 .

  1. 15. Dezember 2011
    Excel Makro, einfache Sache FOS 12. Klasse

    Hallo RaidRush,

    ich schreibe am Montag eine Klassenarbeit in Informatik über Makros in Excel und stehe jetzt bei 2 Übungsaufgaben komplett auf dem Schlauch. Ich habe überhaupt keine Ahnung wie ich daran gehen soll...

    und zwar die Aufgaben:



    Zu Aufgabe 2 habe ich die Lösung..denke ich:
    Code:
    Sub Begrüßung_DeinName()
    Dim X As String
    Dim Y As Single
    
    X = InputBox("Geben Sie ihren Namen ein")
    Y = InputBox("Geben Sie ihr Alter ein")
    
    If Y < 18 Then
    MsgBox ("Hi, bitte schließe das Programm, du bist dafür zu jung.")
    ElseIf Y >= 18 Then
    MsgBox ("Hi, schön dass Sie da sind")
    End If
    
    
    End Sub
    
    ich weiß nur nicht wie ich den Namen hinzufüge

    Code:
    If X < Then
    MsgBox ("Hi" & X ", bitte schließe das Programm, du bist dafür zu jung.") 
    
    funktioniert nicht..

    bei 1 und 3 habe ich absolut keine Ahnung wie ich daran gehen soll..

    Bitte helft mir.
    Jeder hilfreiche Beitrag (auch ohne Komplettlösung) bekommt ne BW, ist ja klar..

    Danke!!
     
  2. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    also zu 2
    excel nutzt eine form von visual basic
    also musst du die namen so einbinden:
    msgbox("Hi, " & X & (",bitte schließe...")
    achja, und wenn ich dir noch ein tipp geben darf, benutze sog. "sprechende" Variablen
    also nenne eine Variable, die den Namen enthält nicht X, sondern Name oder Benutzer oder so^^


    bei deiner 1 versteh ich die tabelle nicht, müsstest du vlt nochmal erklären...

    aber eine funktion die den mindestbestand ausgibt ist eigentlich auch einfach...
    sub mindestbestand(hier alle variablen rein, die du zur berechnung brauchst)
    mindestbestand = durchschnittverbrauch * sicherheitszuschlag
    end sub

    mehr dürfte das eigentlich nicht sein.

    die 3. joa... soweit bin ich in der syntax von excel auch nicht drin. da müsste wer anders mal schauen^^
     
  3. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Ah ok, danke :-D
    Man bin ich hohl... gut Nr. 2 hat sich damit erledigt..

    Ja zu 2, der hat die Formatierung nicht vorgenommen..
    Das Ding ist halt
    A1 ist "Durchschnittlicher Tagesverbrauch"
    B1 ist "Sicherheitszuschlag"
    C1 ist "Mindestbestand"
    in A2-A4 stehen halt die Werte und in B2-B4 auch.
    Ich weiß nur nicht wie er halt das Ergebnis in C2-C4 ausgibt, die Formel sollte klappen..


    Lösung zu 2:
    Code:
    Sub Begrüßung_DeinName()
    Dim X As String
    Dim Y As Single
    
    X = InputBox("Geben Sie ihren Namen ein")
    Y = InputBox("Geben Sie ihr Alter ein")
    
    If Y < 18 Then
    MsgBox ("Hi") & X & (",bitte schließe das Programm, du bist dafür zu jung.")
    ElseIf Y >= 18 Then
    MsgBox ("Hi") & X & (",dass schön Sie da sind")
    End If
    
    
    End Sub
    
    Hab mir was zu 1 überlegt.. ob das irgendwie Ansatzweise in die richtige Richtung geht?

    Code:
    Dim dTV As Single
    Dim SZ As Single
    Dim MB As Single
    
    
    Sheets("Table1").Range("A1") = dTV
    Sheets("Table1").Range("B1") = SZ
    Sheets("Table1").Range("C1") = MB
    
    dTV = InputBox & A2&
    SZ = InputBox & B2&
    MB = OutputBox & C2&
    
    MB = dTV * MB
    
    End Sub
    
    DANKE!
     
  4. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    zu1
    die formel ist doch einfach:
    mindestbestand = durchschnittverbrauch * sicherheitszuschlag
    das stimmt doch?
    mhh wie kannst du denn auf einzelne zellen zugreifen? sheets("Table1").range("C2")
    oder nicht? und da klattschte dann einfach den werd mit = dran:
    sheets("Table1").range("C2") = wert

    es sei denn du willst den wert aus einer zelle in die variable lesen. dann musstes umdrehen (Sheets("Table1").Range("A1") = dTV so schreibst du etwas IN die tabelle, aber das willste ja nicht oder?)

    so müsste es eig gehen
     
  5. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Es soll halt in C2 - C4 ausgegeben werden.
    Die Werte in A2-A4 und B2-B4 sind gegeben, sollen aber auch verändert werden können, denk ich mir.. um die Formel geht es mir nicht, die weiß ich ja, sondern darum wie man das Makro dazubringt die Werte aus den Angegeben Feldern zu nutzen und dann in den Ausgabefeldern (C2-C4) auszugeben..
    Aber Danke für die Antwort!
     
  6. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    warte warte...
    schau mal:
    Sheets("Table1").Range("A1") = dTV
    Sheets("Table1").Range("B1") = SZ
    Sheets("Table1").Range("C1") = MB

    du weißt hier den zellen A1 B1 und C1 einfach eine "leere" Variable zu
    das ist dir klar?
     
  7. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Nein.. ich habe keine Ahnung wie ich daran gehen muss.. Meine Klassenkameraden auch nicht. Es war halt so, dass sie von 8 Stunden einfach mal 6 Stunden krank war und wir nur Übungsaufgaben und teilweise Lösungen bekamen -.-
     
  8. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    dann musst du es andersrum schreiben:

    DTV = Sheets("Table1").Range("A1")
    versuchs nochmal so^^
     
  9. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Code:
    Sub Nummer1()
    
    Dim dTV As Single
    Dim SZ As Single
    Dim MB As Single
    
    
    dTV = Sheets("Table1").Range("A1")
    SZ = Sheets("Table1").Range("B1")
    MB = Sheets("Table1").Range("C1")
    
    dTV = InputBox & A2&
    SZ = InputBox & B2&
    MB = OutputBox & C2&
    
    MB = dTV * MB
    
    End Sub
    
    So sieht das bei mir aus.. funktioniert allerdings nicht..
     
  10. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    hab alles nur überflogen, aberdu holst am Anfang Werte aus der Tabelle und speicherst sie in Variablen, danach weist du den Variablen einen neuen Wert per ImputBox zu und die Werte aus der Tabelle gehen verloren, der Ineterpreter liesst dein Code von oben nach unten.
     
  11. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    jo sagte ich doch^^
    aber dass der von unten nach oben liest, wusst ich auch nicht...
     
  12. 15. Dezember 2011
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Mh ok.. ehrlich gesagt hab ich nicht viel verstanden.
    /Edit: Ok doch, ich weiß was ich falsch gemacht habe, weiß aber nicht wie ich es richtig machen soll...

    Code:
    Sub Nummer1()
    
    Dim dTV As Single
    Dim SZ As Single
    Dim MB As Single
    
    
    dTV = Sheets("Table1").Range("A1")
    SZ = Sheets("Table1").Range("B1")
    MB = Sheets("Table1").Range("C1")
    
    MB = dTV * SZ
    
    End Sub
    
    also ist es so vom ansatz her richtig?
    Was fehlt jetzt denn noch, dass er mir die Ergebnisse in C2-C4 zeigt?
    Bild

    Das eine "MB" in dem Bild wurde durch "SZ" getauscht..sorry dass ich so hilflos bin^^
    Danke euch
     
  13. 15. Dezember 2011
    AW: Excel Makro, einfache Sache FOS 12. Klasse

    Sheets("Table1").Range("C 2 ")=mb
    Sheets("Table1").Range("C 3 ")=sz
    DAS hängste noch an deinen code ran
    also mit dem anfang (sheets.... bis zum = rufste die tabelle ab also die zelle und dann schreibst du mb rein bzw das was du willst... jetzt verstanden?:-D
    gute nacht
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.