Wie schreibe ich eine korrekte Excel VBA?

...komplette Frage anzeigen

3 Antworten

Ich kann Dir da auch die Tutorials von Peter empfehlen, der macht das imho sehr gut und launig:

http://www.online-excel.de/excel/grusel_vba.php?f=6

Das Hochkomma (') ist übrigens das Kommentar-Zeichen, das heißt, alles was in der Zeile darauf folgt wird vom Editor ignoriert. DAS wird dann zur Kennzeichnung GRÜN dargestellt.
Man nutzt das, um Bemerkungen in das Programm zu schreiben, damit man selbst - später - oder auch Andere denn Sinn und Ablauf des Programms leichter verstehen können.
Z.B. kann man hinter eine Variablen-Deklaration schreiben, wozu diese Variable genutzt wird.

Wenn Du ein erstes Programm geschrieben hast und Probleme auftreten, kannst Du das auch gerne hier einstellen und ich/ wir schauen mal, was wir machen können.

iPadS 28.03.2012, 19:51

danke

0
iPadS 28.03.2012, 20:20

Ich will preise berechnen und zwar von einer stückzahl 100 biss 4000 in 10er schritten ist das korrekt eingetragen?:

actStueckzahl = (100) Step = 10 GefStueckzahl = Range(4000).Value

0
Oubyi 28.03.2012, 20:43
@iPadS

DAS hat mit VBA NICHTS zu tun!
Du wirst Dich schon mit VBA beschäftigen müssen, bevor Du versuchst ein Programm zu schreiben, da kommst Du nicht drumherum.

0

Sub Preisberechnungsschleife()
Dim i, j, Stückpreis
j = 1
Stückpreis = 1.25
For i = 100 To 2000 Step 100
j = j + 1
ActiveSheet.Cells(j, 1).Value = i
ActiveSheet.Cells(j, 2).Value = i * Stückpreis
Next
End Sub

Der Kern ist eine For...Next -Schleife. hab den Step erst mal auf 100 vergrößert und die max Stückzahl auf 2000 reduziert
Überschriften kannst du in Zeile 1 eintragen.

das schreibt Dir in Spalte A = .Cells(j, 1) ab Zelle 2 die Stückzahlen
Und in Spalte B = .Cells(j, 2) die zugehörige Preissumme.
Versuch das erst mal zu verstehen und an Deine Vorgaben anzupassen, versuch auch, das waagrecht darzustellen, als ersten Einstieg!

Iamiam 29.03.2012, 10:26

denk dran, dass Du aus einem leeren Blatt heraus startest, das

Makro überschreibt die Daten in Spalte A:A und B:B (schreib A:B).

Die Ausführung eines Makros kann NICHT RÜCKGÄNGIG gemacht werden:
wenn was schief gelaufen ist, hilft nur schließen ohne Speichern und damit der Verlust von allem noch nicht gespeicherten.
Also: VORHER SPEICHERN!

im Übrigen schließe ich mich der Meinung der anderen an: leg Dir erst mal Grundlagen zu, sowas lernt man wie eine Sprache: Wörter (Ausdrücke), Grammatik (Syntax) und viel, viel Übung!

0
Iamiam 29.03.2012, 10:45
@Iamiam

Du erhältst das gleiche Ergebnis übrigens ohne Makro und viel einfacher , wenn Du in dem Blatt
nach A1 die Schrittweite schreibst,
in A2 den Anfangswert einträgst,
in B1 den Einzelpreis (1,25*)) und
in A3 die Formel: =A2+$A$1
und in B3 die Formel:
=A3*$B$1
Formeln runterkopieren, soweit gewünscht. Für 100..4000 Step 10 bis ca. Zeile 400 !

*) je nach Ländereinstellung Komma oder Punkt, aber VBA ist englisch und akzeptiert nur den Punkt als Dezimaltrennzeichen, liest aber aus den deutschen Seiten die mit "," eingetragenen Zahlen richtig aus.
Im Gegenzug ist bei englischen Seiten das Tausenderkennzeichen das "," , was manchmal zu Verwirrung führen kann!

0

Was möchtest Du wissen?