Re: [算表] VBA 選取一列中含特定字元最末資料

作者: joshjetly ( )   2017-09-04 18:56:13
※ 引述《joshjetly ( )》之銘言:
軟體: Excel VBA
版本: 2010
各位先進大家好
在下是 VBA 新手
有批好幾頁
每頁接近萬列的資料要整理
每列約有 50~100 個儲存格
資料大致如下
A B C | D E F G H I J K L M
|
1 [7] (5) 1 | [3] (4) 13 [2] (2) 7 40 [7] (5) 1
|
2 [2] (4) 9 | [9] (6) 4 [2] (4) 8 5 16 9
|
3 [6] (3) 20 | [6] (5) 1 (8) 3 2 1 (3) 29 20
|
在下希望可以在
A 欄:找出同列中最後筆包含 "[" 的文字
B 欄:找出同列中最後筆包含 "(" 的文字
C 欄:找出同列中最後筆數字
請問該如何用 VBA Function 處理呢?
麻煩各為先進了
感激不盡!
作者: soyoso (我是耀宗)   2016-09-03 17:36:00
迴圈於範圍,instr判斷儲存格內包含"["或"(",大於0時回傳該儲存格文字,後離開迴圈exit數字方面如該欄都為數字,而要找出最後一筆有值的話,可以range.end或range.end.row如該欄不一定都為數字,可以isnumeric,但因()有可能也會被判斷為數字,可配合instr為0排除;另也可以vartype或typename(range.value)迴圈部分則是以反序step負值的方式
作者: joshjetly ( )   2016-09-04 06:22:00
感謝so大,在下先依法試試,有問題再請教
作者: soyoso (我是耀宗)   2017-09-04 19:04:00
https://i.imgur.com/OHXMc4b 測試改為offset(...)並無回傳0而回傳[7]
作者: joshjetly ( )   2017-09-04 19:24:00
https://imgur.com/a/kQR9f感謝so大,這是在下做的,是 Excel 版本的關係嗎?
作者: soyoso (我是耀宗)   2017-09-04 19:37:00
因公式所在儲存格a1為第1列內,counta(1:1)會有循環參照可將公式調整到其他儲存格(非1:1第1列內)或counta內的儲存格,不要包含公式所在儲存格,試試
作者: joshjetly ( )   2017-09-05 13:51:00
感謝so大,已將範圍參數修改FindLast(ByRef RngStart As Rang...Set RngWork = Range(RngStart, RngStart.End(xlToRight))測試後可正常運作,感激不盡!

Links booklink

Contact Us: admin [ a t ] ucptt.com