AW: Hallo Josef Ehrensberger
19.12.2004 14:08:11
Josef Ehrensberger
Hallo Peter!
Wenn es nur um die Deklarationen geht, dann zB. so:
Sub Letze_8_Wochen()
'Die Deklarationen gehören in das Makro, ausser man benötigt
'"Public" Variablen!
Dim Anzahl As Integer 'Integer geht von -32.768 bis 32.767
Dim Zähler As Integer
Dim LetzteZeile As Long 'Long geht von -2.147.483.648 bis 2.147.483.647
Dim EintrZeile As Long
Dim EintrSpalte As Integer
'Zeilenvariablen sollte man immer als "Long" deklarieren, auch
'wenn es vieleicht auf den ersten Blick als unnötig erscheint.
'Oft wird aber ein Makro später ausgebaut und dann reicht "Integer" nicht aus!
'Bei Spaltenzählern reicht "Integer"
Sheets("LetzteWochen").Rows("2:2000").ClearContents
LetzteZeile = Sheets("Statistik").Range("V23").Value + 3 'Bestimmt die letzte Zeile mit Werten in der Tabelle Statistik
EintrZelle = 2 'Festlegung der 1 Zeile in die übertragen werden soll.
Zähler = 1
Do While Zähler < Anzahl 'Zähler ist mit 1 Fesgelegt solange der Zähler kleiner als Anzahl ist soll übertragen werden
EintrSpalte = 1 'Festlegung der 1 Spalte in die übertragen werden soll.
LetzteZeile = LetzteZeile - 1 'Runterzählen der letzten Zeile
For i = 1 To 7
Sheets("LetzteWochen").Cells(EintrZeile, EintrSpalte).Value = _
Sheets("Bisherige Zahlen").Cells(LetzteZeile, LetzteSpalte).Value
LetzteSpalte = LetzteSpalte + 1 'hochzählen der Spalten für die Schleife 1 To 7
EintrSpalte = EintrSpalte + 1 'hochzählen der Spalten für die Schleife 1 To 7
If i = 6 Then LetzteSpalte = LetzteSpalte + 1 'ist i 6 dann nochmal hochzählen der Spalten für die Schleife 1 To 7
Next i
Zähler = Zähler + 1 'hochzählen des Zählers
EintrZeile = EintrZeile + 1 'hochzählen der Zeile
Loop
End Sub
Gruß Sepp