hilfe verschieben

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von MichaelHaag.

    hilfe verschieben

    Hallo.
    Ich bin in Sachen VB ein absoluter Anfänger und brauche ein wenig Unterstützung.
    Und zwar muss ich ein UserForm erstellen, indem ich verschiedene Sachen für eine Bestellung eingebe, unter anderem auch Anzahl und Stückpreis.

    Die einzelnen Angaben werden dann im Tabellenblatt eingetragen.


    Jetzt brauche ich eine Funktion, die mir eine Spalte nebendrann den Gesamtpreis des jeweiligen Artikel errechnet und unter der Bestellung die Gesamtsumme anzeigt. Die Zeile in der die Gesamtsumme steht, soll nach jeder Eingabe um eins nach unten verschoben werden.
    Vielen Dank für eure Hilfe


    Beispiel
    Bezeichnung Anzahl Einzelpreis Gesamtpreis

    Waschmittel 2 Stück 6 € 12 €
    Brötchen 10 Stück 0,50 € 5 €

    ___________

    Summe 17 €









    Du könntest ja so vorgehen, dass du unten schon eine fertige Formel für die Gesamtsumme reinschreibst. Durch Einfügen von Zeilen passt sich dann die Formel automatisch an. Hier ein Beispiel:

    Wenn du in Zeile 1 die Überschriften hast (Bezeichnung usw.) und in Spalte D der Gesamtpreis steht, würde ich in D4 oder darunter die Formel =SUMME(D2 : D3) schreiben. (Es sollten mindestens 2 Leerzeilen dazwischen sein.) In VBA würde ich dann die Variable, mit der die Zeilennummer festgelegt wird, in der die nächste Bestellposition eingetragen wird (ich nenne sie im Folgenden Eingabezeile), auf 3 setzen.

    Für den Eintrag in die Tabelle kannst du dann einen Code dieser Art verwenden:

    Visual Basic-Quellcode

    1. Rows(Eingabezeile).EntireRow.Insert 'Fügt eine Zeile ein
    2. Gesamtpreis = Conversion.Val(Anzahl) * Einzelpreis
    3. 'Conversion.Val fängt links bei einem String an und nimmt soviele Zeichen auf,
    4. 'bis ein Zeichen kommt, das nicht zu einer Zahl gehören kann.
    5. 'Aus "2 Stück" wird 2, aus "56abc77" wird 56.
    6. Range("A" & Eingabezeile) = Bezeichnung
    7. Range("B" & Eingabezeile) = Anzahl
    8. Range("C" & Eingabezeile) = Einzelpreis
    9. Range("D" & Eingabezeile) = Gesamtpreis
    10. Eingabezeile = Eingabezeile + 1