VBA Schleife

...komplette Frage anzeigen

2 Antworten

du machst keine schleife sondern eine if-abfrage. die kann nur einmal durchlaufen.

für ne schleife versuchs mal mit

while acitve.cell <> "" ... ... ... wend

bin zwar aus dem vb-bereich, aber denke vba hat auch while-schleifen. ansonsten evtl mal googeln nach do until oder loop until. sind auch schleifen die im prinzip das gleiche bewirken.

haben halt ne vor- oder nachprüfung. was aber bei dir keinen unterschied machen sollte...

Breakerzeus 22.06.2011, 10:12

Ok funktioniert soweit. Musste es bisschen anpassen aber es geht nach diesem while Prinzip. Vielen Dank :)

0

Wozu der Loop und das select? Ist nicht nötig

Range("A1") = Range("A65536").End(xlUp).Row

augsburgchris 22.06.2011, 14:31

Bei dir muss es heißen:

Range("A1") = Range("B65536").End(xlUp).Row

0
Breakerzeus 23.06.2011, 19:00

Ja das hatte ich vergessen heraus zu schreiben. war aber auch nicht das problem. Ich wusste einfach nicht, dass es auch eine While-Schleife in VBA gibt. Aber hab ich wieder was dazugelernt. Danke für die hilfreichen Antworten :D

0
augsburgchris 24.06.2011, 07:42
@Breakerzeus

Nein hast du nicht, das Problem ist das du in diesem Fall scheinbar eine Schleife benutzen willst um die Letzte beschriebene Zelle herauszufinden und das ist völlig unsinnig da es nicht notwendig ist und Schleifen vermieden werden werden sollten wo es nur möglich ist. Erhöhen unheimlich auf die Laufzeit eines Makros besonders wenn du kein Application.Screenupdate=False einbaust.

0
Iamiam 28.06.2011, 13:29
@augsburgchris

vielleicht ist es ja nur die Vorarbeit, um was anderes mit jeder Zelle zu machen? Beim selbst Lernen braucht man solche Ansätze, auch wenn sie dem gelernten Programmierer unsinnig erscheinen. Hab auch viel Unsinn gemacht, aber eben dabei und dadurch gelernt, und bin auch heute noch sicher nicht am Ende des Unsinns...

0

Was möchtest Du wissen?