作者luckid (luckid)
看板Visual_Basic
標題Re: [VBA ] For NEXT 問題
時間Sat Nov 19 10:19:00 2016
※ 引述《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以避免此問題.
--
https://www.youtube.com/watch?v=B_CMmbFexbM
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.114.196
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1479521946.A.534.html