推 newacc: 不考慮用Range 04/29 11:24
→ newacc: 不小心按到送出... 04/29 11:24
→ newacc: 不考慮用Range("A" & Columns.Count).End(XlToLeft)嗎? 04/29 11:25
→ newacc: 不對,你是想要找到A欄最後一筆資料位置,還是第1列最右邊 04/29 11:29
→ newacc: 的資料? 04/29 11:29
→ newacc: 然後你的程式第二行,你沒有先Set myRange,所以myRange現 04/29 11:30
→ newacc: 在是Nothing,所以會跳錯誤 04/29 11:31
不好意思以下再補充說明
我是想選取一個範圍
我的想法是先尋找A欄中最個一個非空白的值儲存格
再往右選取到最右邊那欄
現在主要卡在判斷尋找最後一個非空白值的儲存格後
該怎麼套用的選取的範圍
感謝!
※ 編輯: nash30113 (114.24.150.75), 04/29/2018 11:39:25
→ soyoso: 要以迴圈的話,可以i =1048576(或65536),缺點效率不好 04/29 11:37
→ newacc: 剛睡醒真的不適合用手機打code... 04/29 11:38
→ newacc: 你要找A欄最後一筆資料用這個: 04/29 11:38
→ newacc: Range("A" & Rows.Count).End(xlUp) 04/29 11:38
→ soyoso: 判斷最後一列出現的列號或儲存格用的是range.end(參數) 04/29 11:39
→ newacc: 你要找第1列最右邊資料用這個: 04/29 11:39
→ soyoso: 參數為xlup或xldown 04/29 11:39
→ newacc: Cells(1, Columns.Count).End(xlToLeft) 04/29 11:40
→ soyoso: xlup為可能有非連續儲存格且有可能只有單一儲存格有值時使 04/29 11:40
→ soyoso: 用,xldown則為連續儲存格且複數以上 04/29 11:40
感謝newacc的code
目前套用會選到有公式的空白儲存格
所以才會用S大的建議套用if的判斷式
但不知道判斷後該怎麼套進選取範圍
實例如附檔 我想選取檔案中Sheets"資料產出"非空白儲存格範圍(如A2:C6)
檔案連結:https://goo.gl/jtLdXw
※ 編輯: nash30113 (114.24.150.75), 04/29/2018 12:01:53
推 newacc: 想補充S大的做法,除非你很確定資料格式,否則不要用 04/29 12:00
→ newacc: xlDown或xlToRight,有可能會直接選到最尾端的空白格 04/29 12:01
→ newacc: 像是你原本的code連用三次xlToRight,如果該列資料是連續 04/29 12:02
→ newacc: 的,就會選到最右邊的空白,也就是XFD欄 04/29 12:03
→ newacc: 噢,原來是因為有公式的關係,那我會用一個do loop來調整 04/29 12:07
→ newacc: 往上找的次數,稍等 04/29 12:07
→ soyoso: 選取a2:c6的話,range.resize配合工作表函數count 04/29 12:14
→ newacc: 實作發現end模式不會理會公式的結果,要搭配count計算資料 04/29 12:22
→ newacc: 筆數,但就是資料一定要連續 04/29 12:22
→ nash30113: 感謝N大的解說及S大提供的範例!! 我再研究一下~ 04/29 12:43
→ soyoso: 更正一下11:39的回文,應是range.end(參數direction) 02/15 16:11