Excel 2010 / VB-Loop, indtil der ikke er fundet noget resultat
- Problem
- Opløsning
Problem
Jeg forsøger at manipulere data fra et meget gammelt DOS-program. Jeg har en lang makro, der fungerer godt indtil slutningen, hvor den søges for nogle specifikke ord og sløjfer, der sletter rækkerne med disse ord i det, indtil det ikke kan finde noget, så kommer der en fejl og stopper. Det jeg forsøger at gøre er at få scriptet til at fortsætte, indtil det ikke finder flere forekomster af søgeordene og fortsætter videre til den næste del af scriptet, som vi vil skrive.
Her er kodningsslinget, hvor det sidder fast:
Dim lCount Så lang Dim lNum Så lCount = 0 lNum = 11 Application.ScreenUpdating = False Do While lNum> 10 kolonner ("B: B"). Vælg Selection.Find (Hvad: = "CE - Parish Currently" = ActiveCell, LookIn: = xlFormulas, _ LookAt: = xlPart, SearchOrder: = xlByRows, SearchDirection: = xlNext, _ MatchCase: = False, SearchFormat: = False) .Activate 'ActiveCell.Select ActiveCell.Offset (-1, 0) .Vælg Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Selection.EntireRow.Delete Loop
Vi ønsker at gøre den samme funktion i nogle få andre scripts, vi har skrevet, og min chef og jeg er begge nybegyndere på dette, så enhver hjælp du måske kan tilbyde, er meget værdsat!
Opløsning
Koden siger
Gør mens lNum> 10
Så når bliver lNum nogensinde mindre end eller lig med 10 for at afslutte sløjfen
Da du ikke har givet alle oplysninger, er dette, jeg tænker, den mest logiske løsning
Gør, mens True Set Cell = Kolonner (2) .Find (Hvad: = "CE - Parish Currently", _ Efter: = Cells (1, 2), _ LookIn: = xlFormulas, _ LookAt: = xlPart, _ SearchOrder: = xlByRows, _ SearchDirection: = xlNext, _ MatchCase: = False, _ SearchFormat: = False) Hvis Cell er Intet, så Afslut Gør Cell.EntireRow.Delete Loop
Takket være rizvisa1 for dette tip.