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