VBA循环遍历范围并根据值删除行

时间:2017-07-05 15:28:01

标签: vba loops row rows

我不确定为什么,但是我在运行此代码以循环遍历范围并根据值删除行时遇到很多困难。这段代码是我编写的更大宏的一部分,但到目前为止它都运行良好。

<p-dialog header="Détails de la page" [(visible)]="displayDialog" 
 [responsive]="true" showEffect="fade" [modal]="true" width="1000"
(onAfterHide)="onDialogHide()">
   <div class="ui-grid ui-grid-responsive ui-fluid" *ngIf="selectedPage" 
     style="font-size:16px;text-align:center;padding:20px">
       <div class="ui-grid-row">
         <div class="ui-grid-col-12" style="text-align:center">
        {{selectedPage.pageId}}
             <img  src={{selectedPage.url}} width="45%" height="85% />
         </div>
       </div>
  </div>
</p-dialog>

2 个答案:

答案 0 :(得分:1)

事实证明它正在删除行但是这会将行再次移动到#3,所以它实际上会通过移动到第4行来跳过该行...这是我想出的解决方法

    If SgLendsQ.Value = True Then
        LastRowResults = ResultSheet.Range("A1").End(xlDown).Row
        DelC = 3
        For Counter = 3 To LastRowResults
            If ResultSheet.Range("I" & DelC).Value = "No" Then
                ResultSheet.Rows(DelC).EntireRow.Delete
            ElseIf ResultSheet.Range("I" & DelC).Value = "Yes" Then
                DelC = DelC + 1
            End If
        Next Counter
    End If

答案 1 :(得分:0)

你的大宏在删除行之前是否有屏幕更新?

也许您可以在删除行之前尝试此行:Application.ScreenUpdating = False

最后打开它:Application.ScreenUpdating = true