Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Hallo Josef Ehrensberger

Forumthread: Hallo Josef Ehrensberger

Hallo Josef Ehrensberger
19.12.2004 00:24:40
Gast
Hallo Sepp,
könntest Du mir bei der Optimierung dieses Makros behilflich sein?
habe schon 2-mal erfolglos angefragt. Das mit den Variablen raffe ich einfavh noch nicht :-((
Gruß / Gast
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hallo Josef Ehrensberger
19.12.2004 00:37:38
Josef Ehrensberger
Hallo Peter!
Wenn du mir ein paar Infos gibst, was das Makro machen soll,
dann wäre es leichter;-)
Was mir auffällt ist:
1.) Die Schleife läuft endlos, weil weder "Zähler" noch "Anzahl"
ihren Wert ändern.
2.) "EintrZelle" wird kein Startwert zugewiesen!

Gruß Sepp
Anzeige
AW: Hallo Josef Ehrensberger
19.12.2004 14:26:55
Gast
Hallo Sepp,
hoffe die Beschreibung ist ausreichend.
Gruß / Gast
AW: Hallo Josef Ehrensberger
19.12.2004 15: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
Anzeige
Danke Sepp!
19.12.2004 15:20:45
Gast
Danke Sepp,
ja es ging mir im wesentlichen um die Deklarationen, dass habe ich noch nicht gelernt.
Gruß / Gast
OK Sepp!
19.12.2004 23:39:49
Gast
Ok Sepp erstmal Danke.
Bin gespannt ob ich das noch lerne.
Gruß / Gast
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18