標題:
有沒有任何辦法鎖死整個活頁薄字體 (新細明體 + Arial)
[打印本頁]
作者:
jakcy1234
時間:
2013-9-8 11:33
標題:
有沒有任何辦法鎖死整個活頁薄字體 (新細明體 + Arial)
有沒有任何辦法鎖死整個活頁薄字體 (新細明體 + Arial) ?
因每次用任何方法貼上都改用了 (細明體 + Times New Roman)
作者:
GBKEE
時間:
2013-9-8 14:02
回復
1#
jakcy1234
是這樣嗎?
[attach]15982[/attach]
作者:
jakcy1234
時間:
2013-9-8 15:16
回復
2#
GBKEE
這個我知道, 如果用 新細明體 英文字也跟隨 新細明體
但是我就偏偏改用 標準字型為 Arial (為什麼我要這樣呢? 因為我要將 英文及數字做 Arial )
因為我 貼上的資料 是包含 中文字及數字 (如下資料) , 可惜的是 中文字 變了 細明體..............
細明體 有不好處的地方 就是將字體擴闊 , 還有如果 再覆蓋貼上 也會變了全部都是 細明體(中英數)
(如下資料)
更新:28/08/2012 14:42 <~~~~~~~~~ 要鎖死為 中文為 新細明體 英數為 Arial
最後:28/08/2012 14:49
而我知道 C:\WINDOWS\Fonts ( 細明體 & 新細明體 MINGLIU.TTC ) 電腦設定為 細明體 是 ~~~> "首選先"
作者:
GBKEE
時間:
2013-9-8 16:02
回復
3#
jakcy1234
試試看
Option Explicit
Sub Ex()
Dim C As Range, i As Integer
For Each C In ActiveSheet.UsedRange
For i = 1 To Len(C)
If Asc(Mid(C, i, 1)) >= 0 And Asc(Mid(C, i, 1)) <= 255 Then
C.Characters(Start:=i, Length:=i).Font.Name = "Arial"
Else
C.Characters(Start:=i, Length:=i).Font.Name = "新細明體"
End If
Next
Next
End Sub
複製代碼
作者:
jakcy1234
時間:
2013-9-8 19:05
回復
4#
GBKEE
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range
Application.EnableEvents = False
For Each rCell In Target
If Len(rCell.Text) > 1 Or _
Val(rCell.Value) > 1 Then
rCell.Font.Name = "Arial"
Else
rCell.Font.Name = "Arial"
End If
Next
Application.EnableEvents = True
End Sub
複製代碼
謝謝你回答~~
我找了以上方法, 將excel option 設定回 新細明體 再用以上語句 Private Sub Worksheet_Change,
基本上跟平常 貼上沒分別(以萬個cell), 還發現 比較 我手動改字體的時間還快, 可能是 "覆蓋貼上的時間" 快過 "手動改自體的時間"
作者:
jakcy1234
時間:
2013-9-8 19:26
問題出現了 不能undo..........
作者:
GBKEE
時間:
2013-9-8 20:33
回復
5#
jakcy1234
If Len(rCell.Text) > 1 Or Val(rCell.Value) > 1 Then
rCell.Font.Name = "Arial"
Else
rCell.Font.Name = "Arial"
End If
複製代碼
這程式碼不管有無 IF 判斷式,都是執行 rCell.Font.Name = "Arial"
作者:
jakcy1234
時間:
2013-9-8 21:42
回復
7#
GBKEE
但是我刪減了語句後就沒有轉了 Arial
作者:
GBKEE
時間:
2013-9-9 07:52
回復
8#
jakcy1234
這不與你5#的程式碼一樣?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range
Application.EnableEvents = False
For Each rCell In Target
rCell.Font.Name = "Arial" ' 一樣的 字型
'********************************************************
'If Len(rCell.Text) > 1 Or Val(rCell.Value) > 1 Then '*
' rCell.Font.Name = "Arial" ' 一樣的 字型 '*
'Else '*
' rCell.Font.Name = "Arial" ' 一樣的 字型 '*
'End If '*
'********************************************************
Next
Application.EnableEvents = True
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)