Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage zu "Do While"-Schleife

Frage zu "Do While"-Schleife
16.05.2007 08:57:49
lufius

Guten morgen,
ich habe eine Frage zu der "Do while" Schleife.
Die Aufgabe meines Makros ist es, so lange "Zähler" hochzuzählen, bis in der 1. Zelle der Zeile ein "x"steht.
Jetzt zu meinem Problem:
Es kann sein, dass statt dem "x" ein "y" oder "z" in der Zelle steht. Auch dann soll das Makro aufhören "zähler" hochzuzählen.
Mein Code:
Zähler = 1
Do While Cells(Zähler, 1).Value <> "x" And Cells(Zähler, 1).Value <> "y" And Cells(Zähler, 1).Value <> "z"
Zähler = Zähler + 1
Loop
Es hat funktioniert, solange ich nur nach "x" und "y" gesucht habe. Seit ich "z" mit eingebunden habe funktioniert es nicht mehr.
Vielen Dank für Eure Hilfe,
Gruß,
Tobias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu "Do While"-Schleife
16.05.2007 09:39:12
Oberschlumpf
Hi Tobias
Dein Code funzt bei mir einwandfrei in...
...einer leeren Tabelle erscheint zum Schluss eine Fehlermeldung, weil es nun mal (bis Excel 2003) nur 65536 Zeilen gibt - Fehler also OK
...einer Tabelle mit "x" ODER "y" ODER "z" in Zeile 290 endet die Do/While-Schleife auch in Zeile 290, was ja von dir so gewünscht ist.
Beschreib noch mal in anderen Worten, was NICHT so funzt, wie du es gerne hättest.
Ciao
Thorsten

AW: Frage zu "Do While"-Schleife
16.05.2007 10:01:16
lufius
Hallo Thorsten,
danke für deine Mühe, ist wirklich sehr nett. Der Code den ich eingefügt habe ist nur ein Auszug aus meinem gesamten Code.
Der gesamte Code hat funktioniert solange ich nur "X" oder "y" benutze habe. Dann habe ich "Z" eingefügt und es hat nicht mehr funktioniert. Daraus habe ich gefolgert, dass es an der weiteren Bedingung der "do While" Schleife liegt.
Ich glaube es würde deinen Zeitrahmen sprengen wenn ich den gesamten Code hier reinstelle und dich frage warum es nicht funktioniert.
Ich erweitere den Auszug mal, vielleicht hast du ja einen Tip für mich.


Dim Zähler
Zähler = 1
Do While Cells(Zähler, 1).Value <> "X" And Cells(Zähler, 1).Value <> "y" And Cells(Zä _
hler, 1).Value <> "z"
Zähler = Zähler + 1
Loop
Zähler = Zähler - 1
For i = 1 To Zähler Step 1
Workbooks(a).Worksheets("Material").Activate
'Workbooks(a).Activate
'Worksheets(2).Activate
If Cells(i, 6).Value <> 0 Then
If Cells(i, 6).Value <> "PART NO." Then
Worksheets("Material").Rows(i).Copy
Windows("Materialauswertung.xls").Activate
Rows(i).Select
ActiveSheet.Paste
End If
End If
Next i
Dim x
For x = 1 To 7 Step 1
'Löscht alle leeren Zeilen aus dem Sheet
Windows("Materialauswertung.xls").Activate
Dim suche1 As Range
Dim zaehler1 As Long
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
zeile = Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Set suche1 = Sheets(1).Range("B" & zaehler1 & ":B" & zeile).Find("", LookIn:=xlValues)
If Not suche1 Is Nothing Then
zaehler1 = suche1.Row - 1
Sheets(1).Range(suche1.Row & ":" & suche1.Row).Delete Shift:=xlUp
Else: Exit For
End If
Next zaehler1
Next x


Vielen Dank für deine Mühe,
Gruß,
Tobias
P.s "x", "y" und "Z" sind jetzt gerade Platzhalter für eingentliche Sätze die in meinem Code stehen. Daran kann es doch aber nicht liegen, oder?
x=APPENDIX 03 MATERIAL OUT OF POOL STOCK
y=APPENDIX 04 OUTSIDE VENDOR CHARGES
z=APPENDIX 07

Anzeige
AW: Frage zu "Do While"-Schleife
16.05.2007 10:38:33
Rudi Maintaire
Hallo,
Achtung! Es wird der Text verglichen. Inkl. Groß- und Kleinschreibung. "Z" ist nicht gleich "z".
Do While UCase(Cells(Zähler, 1).Value) <> "APPENDIX 03 MATERIAL OUT OF POOL STOCK
" And UCase(Cells(Zähler, 1).Value) <> "APPENDIX 04 OUTSIDE VENDOR CHARGES" And UCase(Cells(Zä _
hler, 1).Value) <> "APPENDIX 07"
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Frage zu "Do While"-Schleife
16.05.2007 10:59:56
lufius
Hallo Rudi,
danke für deine Hilfe. In meinem Code habe ich auf Groß-und Kleinschreibung geachtet. Vielen Dank. Wenn ich die Schleife Schritt für Schritt durchlaufen lasse funktioniert es auch (kann man in dem "Lokalen Fenster" erkennen). Habe irgendwo beim kopieren der Zeilen oder löschen der leeren Zeilen noch einen kleinen Fehler. Vermute eher beim löschen der leeren Zeilen, weil ich hierbei den Quellcode aus dem Forum übernommen habe und mir leider das Verständnis fehlt.
Ich danke euch erstmal für Eure Hilfe und werde noch ein bißchen herumprobieren...
Schöne Grüße aus Hannover,
Tobias

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige