Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
200to204
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
200to204
200to204
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife variabel halten

Schleife variabel halten
12.01.2003 14:49:11
Harald K
Hallo im Forum,
wenn ich die For z = 11 to 12 Schleife weglasse und anstatt an & z den Wert 37561 eintrage funkioniert das Makro was mache ich den falsch

Gruß Harald

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Schleife variabel halten
12.01.2003 15:30:41
L.Vira
Ich würde dir raten, zunächst mal Option Explicit zu verwenden und deine Variablen vernünftig zu deklarieren.
Re: Schleife variabel halten
12.01.2003 15:34:08
Hans W. Hofmann
Deine z-Schleife ist ziemlich durch den Wind und hat mehrere logische Durchhänger:
Sie ermittelt 2 Ergebnisse (d.h. wenn sie es mal tut), die nacheinander in die gleiche Zelle geschrieben werden! Wozu das? Die erste Summe ist für die Katz....
Außerdem kannst Du das in einer Schleife über zwei Summen sm1, sm2 erledigen und die Hüpferei bleiben lassen:

For i=2 to a
' ich hoffe, dass ich den Spaghetti-Code entwirren kann
if tbr.Cells(i, 16) >= an11 and tbr.Cells(i, 16) <=endd11 then sm1=sm1 +tbr.Cells(i, 16)
if tbr.Cells(i, 16) >= an12 and tbr.Cells(i, 16) <=endd12 then sm2=sm2 +tbr.Cells(i, 16)
next

Noch besser Du läßt VBA überhaupt bleiben und beschäftigst Dich mit SUMMEWENN bzw. Arrayformel SUMME, is eh viel schneller...


Gruß HW

Anzeige
Re: Schleife variabel halten
12.01.2003 16:07:57
Harald K
Hallo Hans,
ich möchte es mit vba lösen,
in Wirklichkeit sollen es dann später 24 schleifen werden und jeder Wert soll natürlich in eine eigene Textbox geschrieben werden.
m11 ist die Textbox für die Summe November
m12 ist die Textbox für die Summe Dezember
usw...

an11 ist der 01.11.02
an12 ist der 01.12.02
usw....

endd11 ist der 30.11.02
endd12 ist der 31.12.02
usw...

Mit diesem Makro kan ich die Summe November in die Textbox m11 eintragen jetzt möchte ich das über 24 Monate mit 24 Textboxen machen und mit jedem Jahr wird das länger, deshalb über eine Schleife

mein Gedanke ist das an & z bei der ersten Schleife an11 ergibt und bei der zweiten Schleife an12 ergibt das ist aber nicht so

Gruß Harald

Anzeige
Re: Schleife variabel halten
12.01.2003 16:22:11
Harald K
Hallo Hans,

danke für deine Antwort habe es nicht gleich verstanden wie ich es umsetzen muß, manchmal sieht man die Bäume vor lauter Wald nicht.

Gruß und Dank

Harald

Re: Schleife variabel halten
12.01.2003 16:23:32
Klaus-Dieter
Hallo Harald,

so könnte es gehen:

Wenn nicht, brauche ich mal eine Mustertabelle, dann ist das einfacher.

Gruß Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite






Re: Schleife variabel halten
12.01.2003 16:35:23
Hans W. Hofmann
Wenn Du dieses GOTO nicht ablegst wirst Du es als Programmierer nicht weit bringen ;-)...


Dim sm(1 To 12) as Single
Dim d As Range, m As Range
' Spalte P enthält Datumswerte
Set d = Range("P:P")
' Spalte R enthält Summanden
Set m = Range("R:R")

For i = 2 To a
sm(Month(d(i))) = sm(Month(d(i))) + m(i)
Next

Gruß HW

Anzeige
Re: Schleife variabel halten
12.01.2003 18:34:01
Harald K
Hallo Hans,
das goto ist wahrscheinlich so ein übel wie select?

Dein Code ist jetzt recht übersichtlich ich weiß nur nicht wie ich es jetzt in die Textboxen bringe.

Gruß Harald

Re: Schleife variabel halten
12.01.2003 19:33:45
Hans W. Hofmann
GOTO ist noch viel übler, wenns da eine Steigerung gibt ;-)

Wo ist das Problem?
sm(1) enthält die Daten für Januar bis sm(12) für Dezember...
Wenn Du mehrere Jahre abhandeln willst, must Du einen 2D-Array aufmachen:
Dim sm(1 to 2, 1 to 12)

Gruß HW

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige