作者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/m.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