Re: [算表] VBA 中寻找最后一列非空白位置并选取范围

楼主: nash30113 (贱王)   2018-04-29 11:20:47
爬文发现想用VBA 中寻找最后一列非空白位置并选取范围
参考了S大的说明可用循环if判断的方式寻找到最后一列的位置
但完整程式码该怎么套以选取范围新手还试不出来
可以请版上高手稍微示范一下吗?
感谢!!
目前的程式码如下:
Dim myRange As Range
For i = myRange.Row To 1 Step -1
If Range("A" & i) <> "" Then Exit For
Next
Set myRange = ThisWorkbook.Sheets("资料产出").Range("a2",
ActiveSheet.Range("a1".)Range("A" & i).End(xlToRight).End(xlToRight).End(xlToRight))
myRange.Select
End Sub
※ 引述《supisces (被~~~切~~~八~~~段)》之铭言:
: 软件: Excel
: 版本: 2010
: Google 后查到以下程式码可以找到最后一列的位置
: =============================================================
: Dim myRange As Range
: Set myRange = ThisWorkbook.Sheets(1).Range("B65536").End(xlUp) '表示在B栏
: 的最后一列
: myRange.Select
: Debug.Print myRange.Value
: Debug.Print myRange.Address
: Debug.Print myRange.Row
: Debug.Print myRange.Column
: MsgBox "值 : " & vbTab & myRange.Value & vbCr & _
: "位置: " & vbTab & myRange.Address & vbCr & _
: "列数: " & vbTab & myRange.Row & vbCr & _
: "行数: " & vbTab & myRange.Column & vbCr
: Set myRange = Nothing
: ==============================================================
: 但是经测试后发现,
: 这个方式并不管储存格是否为空白.
: 如果最后一列的储存格中有公式,
: 但是结果为空白,
: 请问该如何写 VBA?
作者: newacc (XD)   2018-04-29 11:24:00
不考虑用Range不小心按到送出...
作者: soyoso (我是耀宗)   2018-04-29 11:37:00
要以循环的话,可以i =1048576(或65536),缺点效率不好
作者: newacc (XD)   2018-04-29 11:38:00
刚睡醒真的不适合用手机打code...你要找A栏最后一笔资料用这个:Range("A" & Rows.Count).End(xlUp)
作者: soyoso (我是耀宗)   2018-04-29 11:39:00
判断最后一列出现的列号或储存格用的是range.end(参数)
作者: newacc (XD)   2018-04-29 11:39:00
你要找第1列最右边资料用这个:
作者: newacc (XD)   2018-04-29 11:40:00
Cells(1, Columns.Count).End(xlToLeft)
作者: soyoso (我是耀宗)   2018-04-29 11:40:00
xlup为可能有非连续储存格且有可能只有单一储存格有值时使用,xldown则为连续储存格且复数以上
作者: newacc (XD)   2018-04-29 11:53:00
https://i.imgur.com/VIuYQXk.png想补充S大的做法,除非你很确定资料格式,否则不要用xlDown或xlToRight,有可能会直接选到最尾端的空白格像是你原本的code连用三次xlToRight,如果该列资料是连续的,就会选到最右边的空白,也就是XFD栏噢,原来是因为有公式的关系,那我会用一个do loop来调整往上找的次数,稍等
作者: soyoso (我是耀宗)   2018-04-29 12:14:00
选取a2:c6的话,range.resize配合工作表函数counthttps://i.imgur.com/gsSwBj4.jpg
作者: newacc (XD)   2018-04-29 12:22:00
实作发现end模式不会理会公式的结果,要搭配count计算资料笔数,但就是资料一定要连续
楼主: nash30113 (贱王)   2018-04-29 12:43:00
感谢N大的解说及S大提供的范例!! 我再研究一下~

Links booklink

Contact Us: admin [ a t ] ucptt.com