[VBA ] ExcelVBA小问题求解

楼主: goodian (小天)   2016-03-07 19:47:56
各位大大
小弟最近想用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的解释呢?
感谢各位指点
作者: MashiroX421 (三峰真白)   2016-03-07 20:33:00
http://i.imgur.com/m6iOM7D.png 改这样参考看原PO的Cell部份,我想原想先要表达的是列不是栏Cells语法为Cells(列,栏)。而在today部份VB则是用date代替,today是Excel的用法而当要把文字串在一起时,会使用&作为连接符号抱歉,Cells部份可能原PO的格式跟我想的不同,请无视说明的部份可以在VBE内按下F1,搭配google做练习
楼主: goodian (小天)   2016-03-07 20:50:00
太感谢了我练习看看他会在If那一行出现执行阶段错误13 型态不符合
作者: MashiroX421 (三峰真白)   2016-03-07 21:06:00
是否是时间格式或是其他原因所造成呢?
作者: MAGICXX (逢甲阿法)   2016-03-09 00:46:00
你要不要char()看看你储存格的型态啊?是不是根本datevalue不吃你储存格的形式…?有可能看起来是日期 可是却是文字之类的…?
楼主: goodian (小天)   2016-03-09 21:20:00
我后来修改直接拿掉Datevalue就可以了 感谢各位

Links booklink

Contact Us: admin [ a t ] ucptt.com