Frage : Warum muss dieser Code neu starten?

Ich habe ein Stück des Codes angebracht, der arbeitet, besonders da ich es durch seine Reihenfolge trete.  Jedoch wenn ich bedränge, Knopf laufen zu lassen, fährt sie fort, für einige mehr Linien zu arbeiten, dann stoppt.  Sobald ich sie manuell beginne, fährt der Code fort, für einige mehr Linien eigenständig zu arbeiten.  Er ist verwirrend hinsichtlich, warum er gerade stoppt.  Ja könnte das With Sheets kombiniert werden, aber sein spätes und ich ließen es gerade, wie ist.  Jedoch würde ich nicht denken, dass der das misfire.

Would jedermann verursachen würde, eine Antwort haben?

Cook
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
Option ausdrücklich

VorDelUnNeeded ()
Schwaches rng als Strecke, lPos als Strecke
Schwaches celle als Strecke, wks als Arbeitsblatt
I als lang, FinalRow als Strecke verdunkeln
C als lang verdunkeln


Mit Blättern („PIDs“)
    Rng = Strecke einstellen (. Zellen (4, „H“). Zellen (. Rows.Count, „H“). Ende (xlUp))
Ende mit

I = 4
Auf Störungs-Zusammenfassung zunächst
Mit Blättern („PIDs“)
     Für jedes celle im rng
           Wenn Zellen (i, 8) = „FREIE POSITION“ rudert dann (i). Löschung
            lPos = Zellen (i, 11) einstellen
           Wenn sie (lPos, 11) = „115528“ verlassen werden, dann rudert (i). Löschung
           Wenn sie (lPos, 11) = „124957“ verlassen werden, dann rudert (i). Löschung
        I = i + 1
    Zunächst
 Ende mit

Enden-Unterseeboot

Antwort : Warum muss dieser Code neu starten?

Oops I verfehlte die offensichtliche Störung - unten sehen:

Wenn Sie verlassen werden (. Zellen (i, 11), 11) = „115528“ dann. Reihen (i).EntireRow.Delete
Wenn Sie verlassen werden (. Zellen (i, 11), 11) = „124957“ dann. Reihen (i).EntireRow.Delete

sollte gewesen sein:

Wenn Sie verlassen werden (. Zellen (i, 11), 6) = „115528“ dann. Reihen (i).EntireRow.Delete
Wenn Sie verlassen werden (. Zellen (i, 11), 6) = „124957“ dann. Reihen (i).EntireRow.Delete
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
VorDelUnNeeded ()
Schwaches FinalRow so lang, i wie lang, lPos als lang

Mit Blättern („PIDs“)
    FinalRow =. Zellen (. Rows.Count, „H“). Ende (xlUp). Reihe
    Für i = lastrow zu 4 Schritt -1
        Wenn UCase (. Zellen (i, 8)) = „FREIE POSITION“ dann. Reihen (i).EntireRow.Delete
        Wenn Sie verlassen werden (. Zellen (i, 11), 6) = „115528“ dann. Reihen (i).EntireRow.Delete
        Wenn Sie verlassen werden (. Zellen (i, 11), 6) = „124957“ dann. Reihen (i).EntireRow.Delete
    Zunächst I
Ende mit

Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us