作者paul60209 (我是保羅小小)
看板Visual_Basic
標題Re: [VBA ] 這個寫法為何無法改變字體顏色?
時間Mon Sep 10 11:16:51 2018
※ 引述《sde7w9xzo (4684694)》之銘言:
: 為何輸出結果,B欄只有字體變粗卻無法變色?
: http://i.imgur.com/YsQFImH.jpg
: http://i.imgur.com/q37Wmnf.jpg
: 這樣寫是希望一開時就把字體顏色粗細定義好,需要時就直接套用不用一直.font呼叫
: -----
: Sent from JPTT on my LGE LG-H962.
推文太麻煩了,乾脆重打一篇
Sub CopyFormat()
Dim LR As Intenger
With Sheets("工作表1")
LR=.Cells(1048576,"B").End(xlUP).Row
Cells(1,"A").Copy
Range(Cells(1,"B"),Cells(LR,"B")).PasteSpecial _
Paste:=xlPasteFormats
Application.CutCopyMode=False
End With
End Sub
備註:LR是個數值參數,他會去找出B欄的最後一行,
功能類似你在Excel內按Ctrl+方向鍵,
這樣的方式可以把你迴圈的部分拿掉,加快整個程式的運行速度,
另外,PasteSpecial的方式則是你Excel在貼上時的「選擇性貼上」的功能
會直接將A1的儲存格格式貼到B欄的選取範圍中,
以上,希望有幫助到你~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.50.86
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1536549413.A.9D0.html
1F:推 sde7w9xzo: 我的for迴圈內會有不同條件,底色跟文字顏色都不同,如 09/11 16:16
2F:→ sde7w9xzo: 果單純複製貼上格式就要先預設十多種組合的儲存格,再 09/11 16:16
3F:→ sde7w9xzo: 用if條件尋找,這樣應該不會比較快。不過還是感謝提供 09/11 16:16