|
|
本帖最后由 likeyouli 于 2023-6-12 14:41 编辑
因为工作关系,需要经常用到excel,所以最近一直学习vba,
excel2016, ctrl+g ,定位条件,选择最后一个单元格,比如选中的是H15单元格,然后整行删除15行、h列,然后再定位最后一个单元格,仍会定位到H15单元格,哪怕多删几整行整列,把15、14、13行都删除,把f、g、h列都删除,还是定位到H15单元格;
几经摸索,vba里运行以下代码,则可正常,
- Sub 判断表格内是否有完整空行或空列()
- n1 = ActiveSheet.UsedRange.Rows.Count
- n2 = ActiveSheet.UsedRange.Columns.Count
- m1 = Range("a1").CurrentRegion.Rows.Count
- m2 = Range("a1").CurrentRegion.Columns.Count
- End Sub
复制代码 删除整行或整列后,首先运行上段代码,然后再定位最后一个单元格,就会正常了。
我用的是excel2016,非常怀疑这是bug,,不知道其他版本的excel会不会这样,,
答案:感谢后边朋友的回答,保存一下就可以了,也许不能算是bug了,但就算不保存,用ActiveSheet.UsedRange.Rows.Count依旧可以正确的判断出rows的数量,用Range("a1", Selection.SpecialCells(xlCellTypeLastCell)).select 却必须要先保存一下才可以判断出正确边界。
|
|