我在Excel中用Visual Basic挣扎以删除表中除前六行以外的所有行。 我在这里说明一个命令按钮相关的我的代码:完全删除行除外第一个
Dim i As Integer
Dim tot_rows As Integer
tot_rows = ThisWorkbook.Sheets("NAME").UsedRange.Rows.Count
With Worksheets("NAME")
For i = tot_rows To 6 Step -1
.Rows(i).ClearContents
.Rows(i).EntireRow.Delete
Next i
当我执行的代码它并没有删除单个行,你能告诉我为什么吗? tot_rows总是等于401(在表格中,我可以看到401行,所以我认为它是正确的)。 可能超过401行,我无法直观地看到?
感谢您的帮助,我很感激
可以肯定的是,由于代码看起来很好,你确定'tot_rows'设置正确。你可以在你的'With'行上放置一个断点(F9),运行代码并在你的本地窗口(Use view >> Locals)中检查'tot_rows'的值,如果你没有在VBE中。 – JNevill
或者您可以在确定最后一行之后在一行代码中完成......'Sheets(“Name”)。Range(“A2:Z”&tot_rows).Delete' – braX
您的'End With' ? – dwirony