Erklärung: Deklaration v. Variablen
17.11.2008 08:00:00
Matthias
Hallo
hier erstmal ein Vorschlag ohne .Select
Code gehört in ein Modul
Sub BlätterAusListeErstellen()
Application.ScreenUpdating = False
With Worksheets("Räume")
For x = 10 To 40 'anpassen
Sheets("Raumvorlage").Copy After:=Sheets(Sheets.Count)
Sheets("Raumvorlage (2)").Name = .Cells(x, 3).Text
Strg = ActiveSheet.Name
ActiveSheet.Range("F2").NumberFormat = "@"
ActiveSheet.Range("F2").Value = Strg
Next
End With
Application.ScreenUpdating = True
End Sub
Variablen deklarieren:
Dim x As Long, Strg As String
Schau Dir in der Hilfe die Datentypen an. Dort wird der Wertebereich beschrieben und der
reservierte Speicherbedarf angezeigt
Der Datentype LONG reserviert 4 Byte
und hat den Wertebereich: -2.147.483.648 bis 2.147.483.647
Der DatenType STRING gibt hingegen nur Text zurück und hat einen
Wertebereich von: 1 bis ca. 65.400
Deklaruiere also immer nach der Sub() - Zeile die Variablen,
damit Excel den entsprechenden Speicherplatz reserviert.
dazu folgendes Beispiel:
Sub Beispiel()
Dim X As Byte
For X = 1 To 256
Cells(X, 1) = X
Next
End Sub
Dieser Code verursacht einen Überlauf, da X als Byte deklariert ist
Byte hat aber nur einen Wetebereich von 1-255 und reserviert wird 1 Byte
Die Schleife hingegen geht aber bis 256
Fazit: Du solltest also die Variable X mind. als Integer daklarieren
Dim X As Integer
Integer hat den Datenbereich von: -32.768 bis 32.767 und reserviert werden 2 Byte
ansonsten steht das alles in der ExcelHilfe (F1).
Solle es immer noch Probleme geben, lad die Mappe hoch.
Gruß Matthias