作者o1o3o1o31030 (主席)
看板Office
标题[问题] VBA 删除表格中的连续列
时间Sun Mar 24 23:31:02 2019
软体: EXCEL 2007
我想要删除表格物件中,位在最下方空白没有用到的列
我写了以下Loop:
cod=表格总列数
sheet1N=资料总笔数
k = 1
Do
k = k + 1
Selection.ListObject.ListRows(sheet1N + 1).Delete
Loop Until k = cod - sheet1N + 1
这个程序可以完成任务
但是速度超慢,慢到我都怀疑人生了!!
不知道有没有甚麽更快速的方法呢?
还有这代表loop回圈的运算是很慢的吗?
感谢各位!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.118.3
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1553441464.A.375.html
1F:→ soyoso: 那不要用回圈,复制要的资料到新工作表,删除原工作表 03/24 23:52
2F:→ soyoso: 新工作表更名同原工作表名称 03/24 23:52
3F:→ soyoso: 有资料总笔数(sheet1N)和表格总列数(cod)应也可以rows 03/24 23:57
4F:→ soyoso: sheet1N+1 & ":" & cod 的方式delete 03/24 23:58
5F:→ o1o3o1o31030: Listrows() 好像不支援 1:20 这种用法 03/25 00:05
※ 编辑: o1o3o1o31030 (111.71.118.3), 03/25/2019 00:06:26
6F:→ o1o3o1o31030: 我自答 我找到答案了 03/25 00:13
7F:→ o1o3o1o31030: Selection.ListObject.Range.Rows("15:20").Delete 03/25 00:14
8F:→ o1o3o1o31030: 谢谢S大 03/25 00:14