Re: [VBA ] For NEXT 问题

楼主: luckid (luckid)   2016-11-19 10:19:00
※ 引述《oysteromele (蚵仔煎不要蚵仔)》之铭言:
: =============================原本的写法=============================
: Sub tghh()
: Range("A2").Characters(Range("D2"), Range("E2")).Font.ColorIndex = 3
: Range("A3").Characters(Range("D3"), Range("E3")).Font.ColorIndex = 3
: Range("A4").Characters(Range("D4"), Range("E4")).Font.ColorIndex = 3
: Range("A5").Characters(Range("D5"), Range("E5")).Font.ColorIndex = 3
: Range("A6").Characters(Range("D6"), Range("E6")).Font.ColorIndex = 3
: Range("A7").Characters(Range("D7"), Range("E7")).Font.ColorIndex = 3
: Range("A8").Characters(Range("D8"), Range("E8")).Font.ColorIndex = 3
: End Sub
: ===================For Next的版本无法执行====================
: Sub tghh()
: For I = 2 To 10 Step 1
: Range("A" & I).Characters(Range("D" & I), Range("E" & I)).Font.ColorIndex = 3
: Next I
: End Sub
小弟对vba所知甚少,附上程式码仅供参考,
期能解决遇到数字则无法更改格式问题,
班门弄斧,贻笑大方,有误请不吝指正,感谢.
Sub test()
Dim lastR
lastR = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastR
If Cells(i, "d") <> "" And Cells(i, "e") <> "" Then
Cells(i, 1) = "'" & Cells(i, 1)
With Cells(i, 1).Characters(Cells(i, "d"), Cells(i, "e"))
.Font.ColorIndex = 3
.Font.Bold = True
End With
End If
Next
End Sub
原本是想更改完格式后,去掉开头的'符号,
但发现去掉之后,原本改完颜色的部份就会消失,
想不到办法可解决,不好意思,若有前辈愿意指点一二,小弟不胜感激.
在EXCEL2007,
储存格格式为数字的情形下,
同一储存格内的个别数字好像无法修改为不同格式,
试着改过几次又都跳回来.
另外就是不知为何,范围以外的A栏储存格也会被更动格式,变成红色,
无奈之下只好新增if以避免此问题.

Links booklink

Contact Us: admin [ a t ] ucptt.com