作者Maybetrue (No one Remember)
看板Visual_Basic
標題[VBA ] 有好方法可以選擇多列嗎?
時間Tue Mar 17 18:22:40 2009
我有一筆資料,但是列與列中間會插一些無意義的空列位。
為了方便我算總數以及定位置,我需要砍掉這些空列位。
但是空列位出現的列號不是具有規則的。
我目前的作法是用一個DO迴圈檢查,檢查到該列的第一個儲存格為無內容
就刪除該列。例如:
If Cells(exampleRow, 1) = "" Then
Rows( exampleRow ).Delete (xlShiftUp)
End If
但是這樣一個個刪除很慢。不知道有沒有辦法可以先讓我把空列位的列號存在
陣列中,再取出、多重選取多列,再一次刪除多列的寫法。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.79.49
1F:→ MOONRAKER:會刪到很慢 你檔案是有幾萬行 03/17 19:20
2F:→ Maybetrue:2000行就會感覺到慢了 03/18 11:54
3F:→ Semisphere:有關調自動計算? 03/18 19:25
4F:→ iBonus:先用第一欄為主要鍵將資料排序,非空白列集中後再繼續處理? 03/18 19:53
5F:→ Maybetrue:用資料排序在我這個案例我覺得不適用耶。因為我手上的 03/18 22:59
6F:→ Maybetrue:資料不能把互相混雜。用資料排序的話,我怕會把不該參 03/18 23:00
7F:→ Maybetrue:近來的資料參進來,或者是漏掉原本該有的資料。 03/18 23:01
8F:→ iBonus:關閉螢幕更新讓程式執行快一點 03/18 23:09
9F:→ iBonus:(Application.ScreenUpdating = False) 03/18 23:09
10F:推 yuchiuan:關閉螢幕更新有感覺比較快 很實用 03/19 11:06
11F:→ Maybetrue:謝謝@@" 03/19 23:32
12F:→ Maybetrue:關閉螢幕更新之後,執行起來好像當機@@""" 03/19 23:39
13F:推 dontgetup:可以考慮排序完在丟進陣列中.. 03/20 13:49
14F:→ iBonus:執行完記得恢復螢幕更新 03/21 00:19