[問題] VBA 刪除表格中的連續列

作者: o1o3o1o31030 (主席)   2019-03-24 23:31:02
軟體: EXCEL 2007
我想要刪除表格物件中,位在最下方空白沒有用到的列
我寫了以下Loop:
cod=表格總列數
sheet1N=資料總筆數
k = 1
Do
k = k + 1
Selection.ListObject.ListRows(sheet1N + 1).Delete
Loop Until k = cod - sheet1N + 1
這個程序可以完成任務
但是速度超慢,慢到我都懷疑人生了!!
不知道有沒有甚麼更快速的方法呢?
還有這代表loop迴圈的運算是很慢的嗎?
感謝各位!!
作者: soyoso (我是耀宗)   2019-03-24 23:52:00
那不要用迴圈,複製要的資料到新工作表,刪除原工作表新工作表更名同原工作表名稱有資料總筆數(sheet1N)和表格總列數(cod)應也可以rowssheet1N+1 & ":" & cod 的方式delete
作者: o1o3o1o31030 (主席)   2019-03-25 00:05:00
Listrows() 好像不支援 1:20 這種用法我自答 我找到答案了Selection.ListObject.Range.Rows("15:20").Delete謝謝S大

Links booklink

Contact Us: admin [ a t ] ucptt.com