Mỗi tuần một chuyên đề

Lấy định dạng của ô hiện tại

  • Thread starter aThuan
  • Ngày gửi
aThuan

aThuan

Cao cấp
27/9/06
347
5
18
Tp.HCM
các bác cao thủ võ lâm ơi, mình có ý tưởng này

Hiện mình đang cho chạy phần đọc số ra chữ viết bằng VB cho font VNi-, nhưng khi chỉ cho người khác dùng khác kiểu font, hầu hết đang bị các loại font: unicode vni- .TCVN3... nên khó dùng.

làm sao để biết ô công thức hiện tại được format ở dạng font gì, để kết hợp 3 loại phông trong 01 hàm dịch số, loại font gì sẽ cho ra loại chữ tương ứng?

Không rõ các bác có rõ ý tưởng của mình không?
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Chào bác, ý tưởng của bác cũng khá hay nhưng như vậy lại làm cho người dùng lười tìm hiểu hơn không nhỉ? Rối quá.
Dựa theo file NameManager của anh ForestC em viết thêm đoạn code này

Function VNDall(baonhieu)
Select Case UCase(Left(ActiveCell.Font.Name, 3))
Case "VNI": VNDall = VNID(baonhieu.Value)
Case ".VN": VNDall = vnd(baonhieu.Value)
Case Else: VNDall = VNUD(baonhieu.Value)
End Select
End Function


Vậy là nếu chúng ta dùng hàm VNDall sẽ cho ra được loại kiểu chữ như định dạng font đang thực hiện.
 

Đính kèm

  • NameManager.zip
    43.9 KB · Lượt xem: 104
aThuan

aThuan

Cao cấp
27/9/06
347
5
18
Tp.HCM
Bác Bình ơi, cách của Bác mình đã thử rồi,
Bác thử lại thế này: ô A1 font vni-, ô A2 là ô chứa công thức font uni nhận giá trị từ ô a1,
sau khi nhập công thức thì không có vấn đề gì, nếu người dùng vào ô a1 đổi số, do cái activecell của Bác nên công thức được refesh với cách hiểu theo vni- thế là cho ra lằng ngoằn, thật nguy hiểm nếu không kiểm tra lại mà cứ thế in ra.

Ý mình ở đây là làm sao lấy được định dạng font của ô công thức đang "chiếm đóng" cơ; để thay thế cho cái activecell của bác đang dùng đấy.
 
S

Song Huong

Cao cấp
aThuan nói:
Bác Bình ơi, cách của Bác mình đã thử rồi,
Bác thử lại thế này: ô A1 font vni-, ô A2 là ô chứa công thức font uni nhận giá trị từ ô a1,
sau khi nhập công thức thì không có vấn đề gì, nếu người dùng vào ô a1 đổi số, do cái activecell của Bác nên công thức được refesh với cách hiểu theo vni- thế là cho ra lằng ngoằn, thật nguy hiểm nếu không kiểm tra lại mà cứ thế in ra.

Ý mình ở đây là làm sao lấy được định dạng font của ô công thức đang "chiếm đóng" cơ; để thay thế cho cái activecell của bác đang dùng đấy.
Sửa lại hàm của Bình 01 tí.

Function VNDall(baonhieu)
Application.Volatile
Select Case UCase(Left(baonhieu.Font.Name, 3))
Case "VNI": VNDall = VNID(baonhieu.Value)
Case ".VN": VNDall = vnd(baonhieu.Value)
Case Else: VNDall = VNUD(baonhieu.Value)
End Select
End Function
 
aThuan

aThuan

Cao cấp
27/9/06
347
5
18
Tp.HCM
Song Huong nói:
Sửa lại hàm của Bình 01 tí.

Function VNDall(baonhieu)
Application.Volatile
Select Case UCase(Left(baonhieu.Font.Name, 3))
Case "VNI": VNDall = VNID(baonhieu.Value)
Case ".VN": VNDall = vnd(baonhieu.Value)
Case Else: VNDall = VNUD(baonhieu.Value)
End Select
End Function

Vẫn không giải quyết được vấn đề Bác ạ!
 
aThuan

aThuan

Cao cấp
27/9/06
347
5
18
Tp.HCM
Các Bác ơi, vấn đề vẫn chưa được giải quyết :wall:
 

Xem nhiều

Webketoan Zalo OA