[問題] VBA 從第二列,到最後一列

作者: bernachom (Terry)   2014-09-22 15:07:51
軟體: M$ OFFICE EXCEL
版本: 2010
請教一下,
原本我是寫這樣子
sheet.Range("A65536").End(xlUp)
那這樣子的寫法會從第一列找到最後一列
可是我第一列想要放標題
所以我改寫成這個樣子
sheet.Range("A2:A" & sheet.Range("A65536").End(xlUp))
但是這樣子的寫法執行起來好像怪怪的...冏
想請教前輩們,如果要從第二列開始執行,應該要怎麼寫呢?
謝謝指教了
作者: soyoso (我是耀宗)   2014-09-22 16:05:00
range([a2],[A65536].End(xlUp))
作者: bernachom (Terry)   2014-09-22 16:34:00
請教一下,他說RANGE方法失敗耶@@
作者: soyoso (我是耀宗)   2014-09-22 16:44:00
原po是希望例如從工作表1去指定工作表2的範圍嗎?如果是的話要寫range(sheet.[a2].sheet.[a65536].end(xlup))如果不是的話那前的sheet是指??http://goo.gl/MliGzy 如連結range([a2],[A65536].End(xlUp)) 這樣寫並無出現錯誤訊息
作者: bernachom (Terry)   2014-09-22 16:58:00
可是我前面加個SHEET他就ERROR了@@
作者: soyoso (我是耀宗)   2014-09-22 16:59:00
同個工作表ok 不同工作表指定要用range(sheet.[a2],sheet.[a65536].end(xlup))的方式 http://goo.gl/MliGzy連結重下sheet.[A2].Resize(sheet.[A:A].Find("").Row-2) 試試或是sheet.Range("A2:A" & sheet.[a65536].End(xlUp).Row)那是因為迴圈myRange.Row要改寫myRange.Rows.count是指取代還是從第一列找嗎?如果是的話這是因為迴圈起始值為1的關係For RangeIndex = 1
作者: bernachom (Terry)   2014-09-22 18:16:00
真的@@ ,我剛也在想是不是這個關係,結果真的像你說的改2就好了,謝謝:)
作者: soyoso (我是耀宗)   2014-09-22 18:21:00
myrange.rows.count 這裡要+1喔也可用for each...next http://goo.gl/MVVCLH 就不用在起始值修改了或是 http://goo.gl/bvV8yo
作者: bernachom (Terry)   2014-09-22 19:07:00
好的,我參考一下,謝謝您:)可是我想請教一下, ROWS.COUNT+1的話,最後一行他就不會尋找了耶??為什麼要加一呢?
作者: soyoso (我是耀宗)   2014-09-22 19:44:00
因覺得myrange不含a1,列數會少1,因此才寫到要+1,如果不加時是符合原po要的結果的話,就依您實際情況

Links booklink

Contact Us: admin [ a t ] ucptt.com