ich habe folgenden Code:
Option Explicit
Dim inti As Integer
Dim intcount As Integer
Sub schleifen()
For inti = 1 To 3
Tabelle1.Select
'MsgBox "Jetzt wurde Tabelle 1 selected"
Range("A" & inti).Select
'MsgBox "Jetzt wurde Zelle A" & inti & " selected"
Range("A" & inti) = "Das ist Durchlauf Nummer: " & inti
'MsgBox "Jetzt wurde Zelle A" & inti & " beschriftet"
Next
inti = inti - 1 ' aus irgendwelchen Gründen hat inti nach der Schleife Wert = 4, daher -1
If MsgBox("Sollen die Inhalte in A1 bis A" & inti & " gelöscht werden?", vbYesNo) = vbYes Then ' _
_
_
_
hier wird direkt aus der If-Anweisung heraus die Msgbox erzeugt :-)
Range("A1:A3").Delete ' klickt man Ja, werden die Daten gelöscht
Else
MsgBox "Dann eben nicht."
End If
End Sub
Meine Fragen:
1. Ich habe oft gesehen, dass hinter dem "Next" die in der Schleife genutzte Variable geschrieben wird (Hier: Next inti). Es läuft aber auch ohne inti hinter Next. Wozu schreibt man also diese Variable überlicherweise hinter das Next?
2. Wenn ich die Zellen A1 bis A3 löschen lasen will, passieren komische Dinge ;-)
Ist das Blatt leer, funktioniert es ohne Probleme (A1 bis A3 gelöscht)
Schreibe ich jedoch "test" z.B. in A4 und in A20, passiert Folgendes:
- Die vom Makro geschrieben Zellinhalte werden gelöscht, aber "test" steht in A1 und in A17
=> beide Inhalt wurden um 3 Zeilen nach oben geschoben, aber warum?
Vielen Dank
PS: Kann jemand ein gutes VBA-Buch oder eine Internetquelle empfehlen, in der so Grundlegende Sachen wie meine Frage 1 erklärt werden?