[问题] 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