標題:
[發問]
關於尋找"最後一列(行)"
[打印本頁]
作者:
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/)