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.

Forrige Artikel Næste Artikel

Top Tips