Guten Morgen.
>> Ok, danke erstmal. So richtig verstanden hab ich das aber noch nicht. Wie gesagt weiß ich nicht viel von VBA.
>> Wie würde ich denn in diesem Beispiel meine Variable in eine bestimmte Zelle, sagen wir mal C5, schreiben?
Es gibt da ein allgemeines Schema: <WorkbookObject>.<WorksheetObject>.<RangeObject>.Value = <Value>
Um an die einzelnen Objekte zu gelangen, gibt es unterschiedliche Möglichkeiten (ThisWorkbook, ActiveWorkbook, Worksheets(1), Sheets(1), ActiveSheet, Range("A1"), Cells(1, 1), ...)
Beispiel:
Dim deineVariable As String
deineVariable = "Dein Variablen-Wert"
ThisWorkbook.Worksheets(1).Range("C5").Value = deineVariable
>> Wofür die Zählschleife [...], schreibt die meine Variable A nicht in 3 verschieden Zellen? Hier A1, A3 und A5?
Ja, alle drei Zellen haben am Ende den gleichen Inhalt, den Inhalt von der Variable A. Die Schleife war nur zur Demonstration (und weil Schleifen zu den absoluten Grundlagen in der Programmierung gehören). Man hätte das auch so schreiben können, macht aber keiner (vorallem wenn es statt 3 mal z.B. 1000 mal passieren soll).
Tabelle1.Range("A1").Value = A
Tabelle1.Range("A3").Value = A
Tabelle1.Range("A5").Value = A
oder auch:
Tabelle1.Range("A1,A3,A5").Value = A
>> Du zählst in der For-Schleife das i nicht hoch, braucht man das nicht machen wenn man immer nur um 1 hochzählen will? Und du schreibst nur "next", muss das nicht "next i" heissen?
Ob man nun Next oder Next i schreibt ist völlig egal. VBA weiß welche Steuervariable hochgezählt (inkrementiert) werden soll, man hat sie ja schließlich in der For-Zeile angegeben. ;) For-Schleifen inkrementieren ohne explizite Angabe immer um 1.
Anders schaut es z.b. hier aus (Steuervariable wird um 2 inkrementiert):
For i = 1 to 10 Step 2
' 1, 3, 5, 7, 10
Next
oder hier, es wird rückwärts gezählt / um 1 erniedrigt (dekementiert):
For i = 10 to 1 Step -1
' 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
Next
Gruß
|