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
Gruß Harald
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
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
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
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
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
Dein Code ist jetzt recht übersichtlich ich weiß nur nicht wie ich es jetzt in die Textboxen bringe.
Gruß Harald
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