推 newton41: Rows(i).delete shift:=xlup 11/21 22:18
→ soyoso: 可用for..next,由下而上step -1 11/21 22:19
→ soyoso: 有標題列則用range.autofilter篩選 11/21 22:21
→ soyoso: 配合range.specialcells內的可見儲存格 11/21 22:22
→ soyoso: 就可不用迴圈,一次刪除 11/21 22:23
→ soyoso: 但留意要保留標題列的話要用range.size及range.offset將要 11/21 22:24
→ soyoso: 刪除下移縮小 11/21 22:25
→ soyoso: 用for..next內為if range("k" & 變數名稱) ="" then 11/21 22:29
→ soyoso: rows(變數名稱).delete 11/21 22:29
→ soyoso: then後接或加上:接rows.delete則不用end if,如無請加上 11/21 22:34
補充說明:「列」會一直新增下去,所以共有幾列是變數
很感謝樓上大大的指教,但是我看不太懂......
※ 編輯: maxmnbqq (106.105.195.214), 11/21/2015 22:57:26
→ soyoso: 要抓最下方的列,用range.end 11/21 22:58
→ soyoso: 補充上方為可抓最下方的儲存格,如要列號請後面加上.row 11/21 23:06
→ soyoso: 再提供另一個方式 11/21 23:27
→ soyoso: range("k1:k9").specialcells(4).entirerow.delete 11/21 23:27
→ soyoso: k9的9要變數就在用range.end().row的方式取得 11/21 23:28
→ soyoso: 就不用篩選、迴圈了 11/21 23:29
→ soyoso: 上述要正確抓取的話k1:k9要為empty(uninitialized),如為 11/21 23:49
→ soyoso: 字串string就無法了 11/21 23:49
soyoso大大好強!!
請問k9的9要變數,語法為? 上面的解釋看不太懂
另外,specialcells(4)的4是什麼意思?
使用現況
目前共有17815列,使用排序後,最後不為空白=16336列
16337列開始至17815列為空白
使用rnage(k1:k17815).specialcells(4).entirerow.delete
16337~17815列被刪除,但是16336列非空白,也被刪除
補充說明:K欄位為日期,例如2015/10/10
謝謝
※ 編輯: maxmnbqq (106.105.195.214), 11/21/2015 23:52:25
※ 編輯: maxmnbqq (106.105.195.214), 11/21/2015 23:55:53
→ soyoso: google range.specialcells 就可查到4的常數是什麼了 11/22 00:00
※ 編輯: maxmnbqq (106.105.195.214), 11/22/2015 00:03:43
→ soyoso: 9要變數google range.end xlup 11/22 00:03
不小心打錯字
對不起,我看錯了,16336列的K欄位是空白,所以當然會被刪掉
※ 編輯: maxmnbqq (106.105.195.214), 11/22/2015 00:14:38
※ 編輯: maxmnbqq (106.105.195.214), 11/22/2015 00:16:16
→ soyoso: 這要看實際檔案了 11/22 00:15
→ soyoso: 了解^^ 11/22 00:16
回soyoso大大,我查不到k9的9如何用變數
所以我直接使用excel 2013最後一列的數字1048576
range(k1:k1048576).specialcells(4).entirerow.delete
一樣可以用
太感謝你了^^
※ 編輯: maxmnbqq (106.105.195.214), 11/22/2015 00:57:54