[算表] VBA 向下偵測問題

作者: sampeng0970 (sam)   2017-09-05 10:21:26
軟體:Excel
版本:2010
文法如下
For i = 1 To Range("L2").End(xlDown).Row
L2是向下是帶有公式的儲存格,若不符合條件回傳空值
我想L2向下偵測只要偵測到有文字之儲存格數量
目前這語法會偵測到最底,
請問要如何寫,請指教。
作者: soyoso (我是耀宗)   2017-09-05 10:29:00
Range("L2").End(xlDown).Row為回傳向下最後一個包含的儲存格列號,但如果儲存格L2向下無其他資料時會回傳該工作表最大列號,如1048576;如果有可能出現該情況的話,再以下往上range.end(xlup).row的方式來回傳最後一個包含儲存格的列號
作者: sampeng0970 (sam)   2017-09-05 16:08:00
For i = 1 To Range("C1").End(xlToRight).Column.End(xlToLeft).Column再偵測回來寫不出來,請指教,感謝
作者: soyoso (我是耀宗)   2017-09-05 16:21:00
原po要回傳最右側有資料的儲存格欄號嗎?
作者: sampeng0970 (sam)   2017-09-05 16:23:00
有,如果只有一欄資料是C1
作者: soyoso (我是耀宗)   2017-09-05 16:23:00
如果是的話range("xfd1").end(xltoleft).column
作者: sampeng0970 (sam)   2017-09-05 16:24:00
是的我要回傳最右側欄號,但有可能只有一欄資料
作者: soyoso (我是耀宗)   2017-09-05 16:26:00
那以回文的方式試試,從最右側儲存格xfd1往左
作者: sampeng0970 (sam)   2017-09-05 16:38:00
感謝SO大,反向偵測厲害。受教了EXCEL檔案名稱的後面加上今天日期的語法。請指教
作者: soyoso (我是耀宗)   2017-09-05 17:22:00
date可取得包含西元年/月/日,但/不為檔名的合法字元可以replace取代;如要格式固定如20170905的話,date配合format,格式yyyymmdd之類的
作者: sampeng0970 (sam)   2017-09-06 09:29:00
https://imgur.com/a/TuKY0類似這樣可是不知如何串接今天日期還有路徑未必每台電腦都是ADMIN,要如何克服再次麻煩指教,感謝。
作者: soyoso (我是耀宗)   2017-09-06 10:08:00
如要取使用者名稱,可試試application.username串接的符號為 &,例如字串&format(date,"yyyymmdd")之類

Links booklink

Contact Us: admin [ a t ] ucptt.com