看板 Visual_Basic 關於我們 聯絡資訊
各位大大 小弟最近想用VBA加速修改資料的速度 礙於自己之前只有學過C 對VBA完全一竅不通 自己沒辦法Debug 實在爬文了好久也不會 因此上來懇請指點一二 最近想把資料整理成如果表格內的日期已經過去就在日期上面加上括號 反之則不加括號 因此寫了一個BUG超多的VBA 也不知從何Debug起 獻醜了 Public Sub datechange() For i = 2 To 5000 If DateValue(Cells(10, i)) < DateValue(today()) Then Print "("; Cells(10, i); ")" Else: Print Cells(10, i) Next End Sub 不知道這樣到底要怎麼修改才對 另外想請問到底有沒有推薦的網頁或是推薦的書給初學者入門呢? 還有哪邊可以看到所有Command的解釋呢? 感謝各位指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.205.116.8 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1457351279.A.670.html
MashiroX421: http://i.imgur.com/m6iOM7D.png 改這樣參考看 03/07 20:33
MashiroX421: 原PO的Cell部份,我想原想先要表達的是列不是欄 03/07 20:34
MashiroX421: Cells語法為Cells(列,欄)。而在today部份VB則是用 03/07 20:36
MashiroX421: date代替,today是Excel的用法 03/07 20:36
MashiroX421: 而當要把文字串在一起時,會使用&作為連接符號 03/07 20:37
MashiroX421: 抱歉,Cells部份可能原PO的格式跟我想的不同,請無視 03/07 20:40
MashiroX421: 說明的部份可以在VBE內按下F1,搭配google做練習 03/07 20:41
goodian: 太感謝了我練習看看 03/07 20:50
goodian: 他會在If那一行出現執行階段錯誤13 型態不符合 03/07 21:03
MashiroX421: 是否是時間格式或是其他原因所造成呢? 03/07 21:06
MAGICXX: 你要不要char()看看你儲存格的型態啊?是不是根本dateval 03/09 00:46
MAGICXX: ue不吃你儲存格的形式…? 03/09 00:46
MAGICXX: 有可能看起來是日期 可是卻是文字之類的…? 03/09 00:47
goodian: 我後來修改直接拿掉Datevalue就可以了 感謝各位 03/09 21:20