Mong các anh chị giúp đỡ chuyển font

  • Thread starter Thread starter YenLV
  • Ngày gửi Ngày gửi
Liên hệ QC

YenLV

Thành viên chính thức
Tham gia
28/12/11
Bài viết
69
Được thích
14
Bảng tính em có nhiều lại font ví dụ như: Cambaria, symbol, times new romans... Giờ em muốn chỉ chọn riêng font Cambaria và tự động chuyển sang font times new romans, các font khác giữ nguyên. Mong các anh chị giúp đỡ ạ
 
không có file: thử nhé. chưa test luôn
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
For Each rng In Me.UsedRange
If rng.Font.Name = "Cambaria" Then
rng.Font.Name = "times new romans"
End If
Next
End Sub
 
Bảng tính em có nhiều lại font ví dụ như: Cambaria, symbol, times new romans... Giờ em muốn chỉ chọn riêng font Cambaria và tự động chuyển sang font times new romans, các font khác giữ nguyên. Mong các anh chị giúp đỡ ạ

Alt + F11 rồi Click đúp vào sheet bạn muốn đổi Font, paste đoạn code dưới đây vào. Rồi nhấn Run nhé!

Sub DoiFont()
Dim cell As Excel.Range​
For Each cell In UsedRange.Cells​
If cell.Font.Name = "Cambria" Then
cell.Font.Name = "Times New Roman"​
End If
Next
End Sub
 
Lần chỉnh sửa cuối:
không có file: thử nhé. chưa test luôn
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
For Each rng In Me.UsedRange
If rng.Font.Name = "Cambaria" Then
rng.Font.Name = "times new romans"
End If
Next
End Sub

Alt + F11 rồi Click đúp vào sheet bạn muốn đổi Font, paste đoạn code dưới đây vào. Rồi nhấn Run nhé!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim cell As Excel.Range​
For Each cell In UsedRange.Cells​
If cell.Font.Name = "Cambria" Then
cell.Font.Name = "Times New Roman"​
End If
Next
End Sub

PS: Dùng xong nhớ xóa code cho Excel đỡ mệt :D
Chả hiểu tại sao lại dùng sự kiện SelectionChange ở đây nữa? Muốn chuyển font, cứ viết 1 Sub bình thường rồi Run chứ ai lại SelectionChange ---> Chẳng lẽ mỗi lần Click chuột chọn 1 cell nào đó thì code lại chạy? ---> Chẳng ra làm sao cả
--------------------
Với loại bài toán này, tôi nghĩ thậm chí có thể làm bằng tay cũng được (dùng công cụ Find and Replace)
 
Lần chỉnh sửa cuối:
cái sự kiện đấy xuất hiện đầu tiên khi mở cửa sổ VBA mà, em cũng chẳng để ý nữa. thanks bác đã nhắc nhở. em chú ý lần sau
 
Vâng em làm thử công cụ Find and replace rồi nó chỉ chuyển đươc và không lỗi font khi đang cùng kiểu font unicode hoặc TCVN hoặc VNI nhưng em muốn chuyển một font dang .vntime sang Times New roman thì làm thế nào ạ,các anh chị giúp em với ạ
 
Vâng em làm thử công cụ Find and replace rồi nó chỉ chuyển đươc và không lỗi font khi đang cùng kiểu font unicode hoặc TCVN hoặc VNI nhưng em muốn chuyển một font dang .vntime sang Times New roman thì làm thế nào ạ,các anh chị giúp em với ạ

Khi bạn bấm Ctrl + H, bấm thêm nút Options sẽ nhìn thấy 2 nút Format:
- Nút Format ở trên: Bấm vào, chọn loại font nguồn
- Nút Format ở dưới: Bấm vào, chọn loại font đích
Cuối cùng bấm nút Replace All (không gõ bất cứ gì vào khung Find what và Replace with nhé)
Vậy thôi
Nếu không làm được, hãy cho file lên đây
 
em làm như ý anh nhưng nếu chuyển font từ .vntime sang Times new roman thì sẽ bị lỗi font ạ.Do em chưa biết cách up file trực tiếp anh thông cảm ạ. file em có 2 loại font chủ yếu là .vntime và symbol em chỉ muốn chuyển font .vntime sang Times new roman còn font sylbol giữ nguyên ạ:
http://www.mediafire.com/?law9m4cey9rwyym
 
em làm như ý anh nhưng nếu chuyển font từ .vntime sang Times new roman thì sẽ bị lỗi font ạ.Do em chưa biết cách up file trực tiếp anh thông cảm ạ. file em có 2 loại font chủ yếu là .vntime và symbol em chỉ muốn chuyển font .vntime sang Times new roman còn font sylbol giữ nguyên ạ:
http://www.mediafire.com/?law9m4cey9rwyym

Má ơi! Hỏi không rõ ràng gì cả... hoặc là bạn không hiểu vấn đề của mình là gì ---> Khiến những người giúp bạn hướng dẫn sai toàn bộ
Cái của bạn đâu gọi là CHUYỂN FONT mà gọi là CHUYỄN MÃ. Cụ thể là chuyển mã từ TCVN3 sang Unicode ---> Dạng này đã nói nhiều trên diễn đàn rồi
Nói chung sẽ có 2 cách:
- Lập trình VBA ---> Hãy tìm trên diễn đàn các chương trình liên quan đến CHUYỄN MÃ
- Dùng Unikey để chuyển
 
Má ơi! Hỏi không rõ ràng gì cả... hoặc là bạn không hiểu vấn đề của mình là gì ---> Khiến những người giúp bạn hướng dẫn sai toàn bộ
Cái của bạn đâu gọi là CHUYỂN FONT mà gọi là CHUYỄN MÃ. Cụ thể là chuyển mã từ TCVN3 sang Unicode ---> Dạng này đã nói nhiều trên diễn đàn rồi
Nói chung sẽ có 2 cách:
- Lập trình VBA ---> Hãy tìm trên diễn đàn các chương trình liên quan đến CHUYỄN MÃ
- Dùng Unikey để chuyển

vậy đấy bác ạ, nhiều khi người hỏi cứ hỏi không đúng câu hỏi, không có file, còn người trả lời toàn người... làm biếng hết--=0. nên cũng khó.
 
Vâng em làm thử công cụ Find and replace rồi nó chỉ chuyển đươc và không lỗi font khi đang cùng kiểu font unicode hoặc TCVN hoặc VNI nhưng em muốn chuyển một font dang .vntime sang Times New roman thì làm thế nào ạ,các anh chị giúp em với ạ

sao lại không, tôi chuyển ầm ầm,
thử với chữ ạ nhé
Dim rng As Range
For Each rng In Me.UsedRange
If rng.Font.Name = ".VnTime" Then
rng = Replace(rng, "¹", ChrW(7841), 1)
End If
Next
 
Em đã dùng một số công cụ VBA trên diễn đàn nhưng vấn đề gặp phải là nếu: chuyển mã từ TCVN3 sang Unicode thì các font như symbol cũng sẽ chuyển thành Times new roman, anh có thể xem file em gửi trên rồi giúp em được không ạ (cụ thể trong file trên là em chỉ muốn chuyển font .vntime thành Times new roman còn font symbol giữ nguyên)
 
em dân mới vào nghề, anh giúp em rõ hơn được không ạ, em chưa hiểu ý anh ạ
 
Má ơi! Hỏi không rõ ràng gì cả... hoặc là bạn không hiểu vấn đề của mình là gì ---> Khiến những người giúp bạn hướng dẫn sai toàn bộ
Cái của bạn đâu gọi là CHUYỂN FONT mà gọi là CHUYỄN MÃ. Cụ thể là chuyển mã từ TCVN3 sang Unicode ---> Dạng này đã nói nhiều trên diễn đàn rồi
Nói chung sẽ có 2 cách:
- Lập trình VBA ---> Hãy tìm trên diễn đàn các chương trình liên quan đến CHUYỄN MÃ
- Dùng Unikey để chuyển
Em đã dùng một số công cụ VBA trên diễn đàn nhưng vấn đề gặp phải là nếu: chuyển mã từ TCVN3 sang Unicode thì các font như symbol cũng sẽ chuyển thành Times new roman, anh có thể xem file em gửi trên rồi giúp em được không ạ (cụ thể trong file trên là em chỉ muốn chuyển font .vntime thành Times new roman còn font symbol giữ nguyên)
 
sao lại không, tôi chuyển ầm ầm, thử với chữ ạ nhé Dim rng As Range For Each rng In Me.UsedRange If rng.Font.Name = ".VnTime" Then rng = Replace(rng, "¹", ChrW(7841), 1) End If Next
em dân mới vào nghề, anh giúp em rõ hơn được không ạ, em chưa hiểu ý anh ạ
 
em dân mới vào nghề, anh giúp em rõ hơn được không ạ, em chưa hiểu ý anh ạ
chuyển mã liên quan đến VBA, nếu bạn mới vào nghề, chịu, bạn gõ vào google seach... chữ chuyển mã, có nhiều công cụ lắm, đọc từ từ thì khắc rõ.
 
trong diễn đàn tôi thấy có nhiều công cụ chuyển font lắm, có một cái này khá hay của bác phạm duy long. xin trích dẫn cho bạn:
Const CodUni = "225 224 7843 227 7841 259 7855 7857 7859 7861 7863 226 7845 7847 7849 7851 7853 233 232 7867 7869 7865 234 7871 7873 7875 7877 7879 237 236 7881 297 7883 243 242 7887 245 7885 244 7889 7891 7893 7895 7897 417 7899 7901 7903 7905 7907 250 249 7911 361 7909 432 7913 7915 7917 7919 7921 253 7923 7927 7929 7925 273 193 193 192 192 7842 7842 195 195 7840 7840 258 258 7854 7854 7856 7856 7858 7858 7860 7860 7862 7862 194 194 7844 7844 7846 7846 7848 7848 7850 7850 7852 7852 201 201 200 200 7866 7866 7868 7868 7864 7864 202 202 7870 7870 7872 7872 7874 7874 7876 7876 7878 7878 205 204 7880 296 7882 211 211 210 210 7886 7886 213 213 7884 7884 212 212 7888 7888 7890 7890 7892 7892 7894 7894 7896 7896 416 7898 7898 7900 7900 7902 7902 7904 7904 7906 7906 218 218 217 217 7910 7910 360 360 7908 7908 431 7912 7912 7914 7914 7916 7916 7918 7918 7920 7920 221 221 7922 7922 7926 7926 7928 7928 7924 272 "
Const StrVn3 = "¸µ¶·¹¨¾»¼½Æ©ÊÇÈÉËÐÌÎÏѪÕÒÓÔÖÝ×ØÜÞãßáâä«èåæçé¬íêëìîóïñòô­øõö÷ùýúûüþ®¸¸µµ¶¶··¹¹¡¡¾¾»»¼¼½½ÆÆ¢¢ÊÊÇÇÈÈÉÉËËÐÐÌÌÎÎÏÏÑÑ££ÕÕÒÒÓÓÔÔÖÖÝ×ØÜÞããßßááââä䤤èèååææççéé¥ííêêëëììîîóóïïññòòôô¦øøõõöö÷÷ùùýýúúûûüüþ§"
Const StrVni = "aùaøaûaõaïaêaéaèaúaüaëaâaáaàaåaãaäeùeøeûeõeïeâeáeàeåeãeäí ì æ ó ò oùoøoûoõoïoâoáoàoåoãoäô ôùôøôûôõôïuùuøuûuõuïö öùöøöûöõöïyùyøyûyõî ñ AÙAùAØAøAÛAûAÕAõAÏAïAÊAêAÉAéAÈAèAÚAúAÜAüAËAëAÂAâAÁAáAÀAàAÅAåAÃAãAÄAäEÙEùEØEøEÛEûEÕEõEÏEïEÂEâEÁEáEÀEàEÅEåEÃEãEÄEäÍ Ì Æ Ó Ò OÙOùOØOøOÛOûOÕOõOÏOïOÂOâOÁOáOÀOàOÅOåOÃOãOÄOäÔ ÔÙÔùÔØÔøÔÛÔûÔÕÔõÔÏÔïUÙUùUØUøUÛUûUÕUõUÏUïÖ ÖÙÖùÖØÖøÖÛÖûÖÕÖõÖÏÖïYÙYùYØYøYÛYûYÕYõÎ Ñ"
Const StrDau = "12345 12345 1234512345 123451234512345 12345 1234512345 1234512345 1122334455 1122334455 11223344551122334455 1122334455123451122334455 1122334455 11223344551122334455 1122334455112233445 "
Const StrMa = "a a a a a az az az az az az azzazzazzazzazzazze e e e e ez ez ez ez ez ez i i i i i o o o o o oz oz oz oz oz oz ozzozzozzozzozzozzu u u u u uz uz uz uz uz uz y y y y y dz a a a a a a a a a a az az az az az az az az az az az az azzazzazzazzazzazzazzazzazzazzazzazze e e e e e e e e e ez ez ez ez ez ez ez ez ez ez ez ez i i i i i o o o o o o o o o o oz oz oz oz oz oz oz oz oz oz oz oz ozzozzozzozzozzozzozzozzozzozzozzu u u u u u u u u u uz uz uz uz uz uz uz uz uz uz uz y y y y y y y y y dz"
Const Str0dau = "aaaaaaaaaaaaaaaaaeeeeeeeeeeeiiiiiooooooooooooooooouuuuuuuuuuuyyyyydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOUUUUUUUUUUUUUUUUUUUUUYYYYYYYYYD"

Function Vn3Uni(Text As String) As String
For i = 1 To Len(Text)
Kytu = Mid(Text, i, 1)
vitri = InStr(1, StrVn3, Kytu, 0)
If vitri > 0 Then
NewText = NewText & ChrW(Mid(CodUni, vitri * 5 - 4, 5))
Else
NewText = NewText & Kytu
End If
Next
Vn3Uni = NewText
End Function
 
Web KT

Bài viết mới nhất

Back
Top Bottom