作者goodian (小天)
看板Visual_Basic
標題[VBA ] ExcelVBA小問題求解
時間Mon Mar 7 19:47:56 2016
各位大大
小弟最近想用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://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1457351279.A.670.html
2F:→ MashiroX421: 原PO的Cell部份,我想原想先要表達的是列不是欄 03/07 20:34
3F:→ MashiroX421: Cells語法為Cells(列,欄)。而在today部份VB則是用 03/07 20:36
4F:→ MashiroX421: date代替,today是Excel的用法 03/07 20:36
5F:→ MashiroX421: 而當要把文字串在一起時,會使用&作為連接符號 03/07 20:37
6F:→ MashiroX421: 抱歉,Cells部份可能原PO的格式跟我想的不同,請無視 03/07 20:40
7F:→ MashiroX421: 說明的部份可以在VBE內按下F1,搭配google做練習 03/07 20:41
8F:→ goodian: 太感謝了我練習看看 03/07 20:50
9F:→ goodian: 他會在If那一行出現執行階段錯誤13 型態不符合 03/07 21:03
10F:→ MashiroX421: 是否是時間格式或是其他原因所造成呢? 03/07 21:06
11F:推 MAGICXX: 你要不要char()看看你儲存格的型態啊?是不是根本dateval 03/09 00:46
12F:→ MAGICXX: ue不吃你儲存格的形式…? 03/09 00:46
13F:→ MAGICXX: 有可能看起來是日期 可是卻是文字之類的…? 03/09 00:47
14F:→ goodian: 我後來修改直接拿掉Datevalue就可以了 感謝各位 03/09 21:20