作者Yaiba (绯心刀刃)
看板Visual_Basic
标题Re: [VBA ] For NEXT 问题
时间Tue Nov 22 14:24:27 2016
看不是很懂你的文章=.=
※ 引述《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
最後 加个注解吧 虽然我个人是不加注解
但你要别人帮你看程式
别人还要想了解你程式要做什麽
加个注解别人才能更快了解
--
常发人好人名片
Yaiba:您好,我是好人
帮正妹组电脑送到府
外加一年到府维护
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 49.219.253.54
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1479795870.A.D02.html
1F:推 luckid: 非常感谢Y大指正,写程式不缩排一直都是坏习惯,确实要改进 11/22 15:36
2F:→ luckid: 注解也是一个重点.以後会注意.另外小弟跟原提问者非同一人 11/22 15:37
3F:→ luckid: 最後成语不是好像乱用,是根本就在乱用,哈哈. 总之再次感谢 11/22 15:38