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