首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除A列中不包含日期的任何行

删除A列中不包含日期的任何行
EN

Stack Overflow用户
提问于 2020-01-10 01:13:04
回答 1查看 28关注 0票数 0

我有一个工作簿,我想删除工作表"Paste MyStock“列A中不包含日期的所有行,然后粘贴公式并自动填充到最后一行。

代码可以工作,但是,它不会遍历所有行。它在2-3行后突然停止,我必须运行宏几次。为什么会这样?我该如何修复它?

这是我的代码:

代码语言:javascript
复制
Sub del_row_not_date()

Dim i As Integer
Dim MyStock As Worksheet
Dim Pivot As Worksheet
Dim Dta As Worksheet

Set MyStock = Sheets("Paste MyStock")
Set Formula = MyStock.Range("O1")
Set PasteFormula = MyStock.Range("N2")

With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With

LastRow = MyStock.Cells(MyStock.Rows.Count, "A").End(xlUp).Row

For i = 2 To LastRow
    If IsDate(MyStock.Cells(i, 1)) = False Then
        MyStock.Cells(i, 1).EntireRow.Delete
    End If
Next

Formula.Copy
PasteFormula.PasteSpecial xlPasteAll

PasteFormula.AutoFill Destination:=MyStock.Range("N2:N" & LastRow)

With Application
    .EnableEvents = True
    .ScreenUpdating = True
End With   

End Sub
EN

回答 1

Stack Overflow用户

发布于 2020-01-10 01:14:43

删除时,请自下而上循环,否则删除后您的循环会无意中跳过行:

代码语言:javascript
复制
For i = LastRow to 2 Step -1

另请使用Long而不是Integer;请参阅this question原因:

代码语言:javascript
复制
Dim i as Long
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59669057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档