Re: [VBA ] For NEXT 问题

楼主: Yaiba (绯心刀刃)   2016-11-22 14:24:27
看不是很懂你的文章=.=
※ 引述《luckid (luckid)》之铭言:
: ※ 引述《oysteromele (蚵仔煎不要蚵仔)》之铭言:
两个是同一个人是吗?
: 小弟对vba所知甚少,附上程式码仅供参考,
: 期能解决遇到数字则无法更改格式问题,
: 班门弄斧,贻笑大方,有误请不吝指正,感谢.
我感觉成语好像有点乱用=.=
: 原本是想更改完格式后,去掉开头的'符号,
: 但发现去掉之后,原本改完颜色的部份就会消失,
: 想不到办法可解决,不好意思,若有前辈愿意指点一二,小弟不胜感激.
: 在EXCEL2007,
: 储存格格式为数字的情形下,
: 同一储存格内的个别数字好像无法修改为不同格式,
: 试着改过几次又都跳回来.
: 另外就是不知为何,范围以外的A栏储存格也会被更动格式,变成红色,
: 无奈之下只好新增if以避免此问题.
如你所说 数值是不能改变
所以用单引号只是在通用格式下强制使用文字
不如就改为文字模式即可
Sub test()
Dim lastR As Integer
Dim indexI As Integer
'抓取最后一行位置
lastR = Cells(Rows.Count, 1).End(xlUp).Row
'从第二行跑到最后一行
For indexI = 2 To lastR
'确认此行的D与E是否有资料
If Cells(indexI, "d") <> "" And Cells(indexI, "e") <> "" Then
'将A值改为有加单引号 改为 我改为转字串型态
Cells(indexI, 1).NumberFormatLocal = "@"
Cells(indexI, 1).FormulaR1C1 = "" & Cells(indexI, 1)
'将选取文字更改颜色
With Cells(indexI, 1).Characters(Cells(indexI, "d"), Cells(indexI, "e"))
.Font.ColorIndex = 3
.Font.Bold = True
End With
End If
Next
End Sub
最后 写程式最好要用Tab或空格做排版
这是将程式写好的第一个步骤
但我其实也满佩服不排版的人
他们为什么能看懂自己的程式呢XD
最后 加个注解吧 虽然我个人是不加注解
但你要别人帮你看程式
别人还要想了解你程式要做什么
加个注解别人才能更快了解
作者: luckid (luckid)   2016-11-22 15:36:00
非常感谢Y大指正,写程式不缩排一直都是坏习惯,确实要改进注解也是一个重点.以后会注意.另外小弟跟原提问者非同一人最后成语不是好像乱用,是根本就在乱用,哈哈. 总之再次感谢

Links booklink

Contact Us: admin [ a t ] ucptt.com