Board logo

標題: [發問] 關於尋找"最後一列(行)" [打印本頁]

作者: thps51134    時間: 2011-11-3 17:11     標題: 關於尋找"最後一列(行)"

本帖最後由 thps51134 於 2011-11-3 17:13 編輯

請教
".UsedRange.SpecialCells(xlLastCell).Row"的意義
以及, 怎樣可以做到更動這樣抓取到的final row (col.) ?

======
使用此方法抓取最後一列

    RowEnd = ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row

整個檢查過後
資料真的只有到將近 300筆
但是RowEnd卻一直顯示為 559

有聽過這個方法其實是抓"被做過動作的格子"
於是一路拉到第65532列 (只是選取)後, 儲存再開啟
依舊是顯示最後一列為第559列

=====

謝謝!
作者: GBKEE    時間: 2011-11-3 20:22

本帖最後由 GBKEE 於 2011-11-3 20:24 編輯

回復 1# thps51134
UsedRange 屬性  傳回 Range 物件,此物件代表指定工作表中的已用範圍。唯讀。
SpecialCells(  參數  ) 方法 傳回 Range 物件,此物件代表與指定型態及值相符合的所有儲存格。Range 物件。
參數 : xlCellTypeLastCell。已用範圍的最後一個儲存格   
UsedRange.SpecialCells(xlLastCell).Row ->傳回工作表中的已用範圍中指定型態及值相符合的(最後一個儲存格)所有儲存格的列號

於是一路拉到第65532列 (只是選取)後, 儲存再開啟
依舊是顯示最後一列為第559列
  
如在65532列 有輸入資料 會傳回 65532 的
作者: luhpro    時間: 2011-11-3 21:16

整個檢查過後
資料真的只有到將近 300筆
但是RowEnd卻一直顯示為 559
thps51134 發表於 2011-11-3 17:11

我猜測可能是第 559 列(或許其他儲存格也有)有空白字造成,
若果真如此那麼你需要做的只有一件事 :
1. 找到(有資料)的最底下的一筆資料
2. 從此筆資料的下一列開始 Mark 整列
3. 按住滑鼠左鍵不放一直拖曳到第 600 列
4. 將 Mark 的區域全部刪除
最後再試看看是否結果變正確了.

這方法我通常都用在預覽文件時發現有多餘的空白頁時.
作者: e123chen    時間: 2011-11-3 23:07

動作指的是"實際,有成效"的動作,不包括選取。

在第600列任一儲存格輸入資料,然後選它並清除內容。
ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row 會是 600。

凡走過必留下痕跡。
作者: thps51134    時間: 2011-11-8 17:46

本帖最後由 thps51134 於 2011-11-8 17:56 編輯

感謝各位的回覆以及替我做了觀念澄清

GBKEE大的解釋詳盡到令人感動

感謝 luhpro大的建議,
之前只有做過"delete"而沒有試過"刪除"
大筆一刪, 問題解決!

謝謝 e123chen幫我釐清什麼是我查到的資料所描述的"動作"
:)
作者: smooth131    時間: 2011-11-19 00:08

我之前一直怕說會有中間有空格產生的情況,用"xlLastCell"沒辦法找到所有的欄位
之後有人教我用cells(65536,j).end(xlup)
結果好多了,不知道這樣是否與您所理解的相同
作者: thps51134    時間: 2011-11-21 10:23

本帖最後由 thps51134 於 2011-11-21 10:34 編輯

回復 6# smooth131


    就我目前使用的狀況...空格是不影響"xlLastCell"的結果啦^^"

 這次遇到的問題是
    "實際上沒有資料卻抓到說資料" 不是 "實際上資料卻抓說那列資料"
 感謝您的分享^^
作者: davidoff    時間: 2011-11-23 05:13

有一個現象可以解釋"實際上沒有資料卻抓到說有資料",
那就是"有空白儲存格被設定了格式",
因此會將此儲存格納入UsedRange中。
所以你單純用delete是沒有用的,
必須清除儲存格格式全部才有解。
作者: fei6999    時間: 2011-11-30 13:13

UsedRange.SpecialCells(xlLastCell).Row
懂了!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)