ĐỊnh dạng font ngẫu nhiên (1 người xem)

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

Người dùng đang xem chủ đề này

Excel365

Thành viên tích cực
Tham gia
29/10/10
Bài viết
865
Được thích
127
Giới tính
Nam
Cho em hỏi có cách nào định dạng font Tiếng việt ngẫu nhiên trong 1 cell, khi mình Actice sheet đó không vậy các anh, chị. Nếu có thì mình làm bằng cách nào, mong các anh chị giúp đỡ


Font: cho định dang ngẫu nhiên trong danh sách 1 số font cho trước.
VD: danh sách font
Calibri
Bodoni MT Black
BatangChe
Times New Roman, ..........
Trân trọng
 
Cho em hỏi có cách nào định dạng font Tiếng việt ngẫu nhiên trong 1 cell, khi mình Actice sheet đó không vậy các anh, chị. Nếu có thì mình làm bằng cách nào, mong các anh chị giúp đỡ
Font: cho định dang ngẫu nhiên trong danh sách 1 số font cho trước.
VD: danh sách font
Calibri
Bodoni MT Black
BatangChe
Times New Roman, ..........
Trân trọng
Dùng RandBetween thử xem, B3 cần đổi Font, D3:D6 là mã Font:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With [B3].Font
        .Name = Range("D" & WorksheetFunction.RandBetween(3, 6))
    End With
End Sub
 

File đính kèm

Upvote 0
Dùng RandBetween thử xem, B3 cần đổi Font, D3:D6 là mã Font:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With [B3].Font
        .Name = Range("D" & WorksheetFunction.RandBetween(3, 6))
    End With
End Sub
Có cách nào mỗi lần mình mở sheet đó lên thì nó tự đổ Font luôn không vậy Mr.Bum
 
Upvote 0
Có cách nào mỗi lần mình mở sheet đó lên thì nó tự đổ Font luôn không vậy Mr.Bum

Bạn thay code sự kiện, thay vì SelectionChange thì bạn thay bằng Activate, hoặc Deactivate, hoặc đặt trong code mở workbook:
Mã:
Private Sub Workbook_Open()
...
End Sub
 
Upvote 0
Dùng RandBetween thử xem, B3 cần đổi Font, D3:D6 là mã Font:
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With [B3].Font
        .Name = Range("D" & WorksheetFunction.RandBetween(3, 6))
    End With
End Sub

Hàm RandBetween chỉ dùng được với Excel 2007 trở về sau, còn Excel 2003 muốn xài được thì phải cài AddIn Analysis ToolPak
Nói thế để biết rằng hàm này có giới hạn
Để chắc ăn ta dùng hàm Rnd() là hàm có sẵn trong VBA. Chi tiết như sau:
- Cho danh sách font vào 1 Array
Mã:
 aFonts = Array("Calibri","Bodoni MT Black","BatangChe","Times New Roman")
- Dùng hàm Rnd() để lấy 1 số ngẫu nhiên. Vì ta có 4 font nằm trong array nên ta sẽ dùng hàm để lấy giá trị ngẫu nhiên trong khoảng từ 0 đến 3
Mã:
idx = Int(Rnd() * [COLOR=#ff0000]4[/COLOR])
- "Đổ" kết quả xuống sheet
Mã:
Range("B3").Font.Name = [COLOR=#ff0000]aFonts(idx)[/COLOR]
Toàn bộ code:
Mã:
Private Sub Worksheet_Activate()
  Dim idx As Long, aFonts
  aFonts = Array("Calibri", "Bodoni MT Black", "BatangChe", "Times New Roman")
  idx = Int(Rnd() * 4)
  Range("B3").Font.Name = aFonts(idx)
End Sub
 
Upvote 0

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

Back
Top Bottom