Xin hỏi cách rút gọn công thức bằng cách dùng Define name (1 người xem)

  • Thread starter Thread starter nn.tien
  • Ngày gửi Ngày gửi

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

nn.tien

Thành viên mới
Tham gia
12/6/09
Bài viết
19
Được thích
2
Kính chào các bạn mình có một số công thức khá dài mà thường xuyên dùng nên muốn tìm cách rút gọn cho tiện sử dung, ví dụ mình có công thức sau:

CLEAN(TRIM(IF(CheckTCVNHFont(B2),tcvn3(B2),IF(checkVNIfont(B2),vni(B2),IF(checktcvnfont(B2),tcvn3(B2 ),unicode(B2))))))

>>> mình muốn thay thế bằng 1 hàm ví dụ ChuyenDoi(B2) mà có thể cho ra kết quả như công thức gốc ở trên

Trân trọng cảm ơn sự giúp đỡ của các bạn!
(Các hàm mình sử dụng ở trong file đính kèm)
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Kính chào các bạn mình có một số công thức khá dài mà thường xuyên dùng nên muốn tìm cách rút gọn cho tiện sử dung, ví dụ mình có công thức sau:

CLEAN(TRIM(IF(CheckTCVNHFont(B2),tcvn3(B2),IF(checkVNIfont(B2),vni(B2),IF(checktcvnfont(B2),tcvn3(B2 ),unicode(B2))))))

>>> mình muốn thay thế bằng 1 hàm ví dụ ChuyenDoi(B2) mà có thể cho ra kết quả như công thức gốc ở trên

Trân trọng cảm ơn sự giúp đỡ của các bạn!
(Các hàm mình sử dụng ở trong file đính kèm)

Ít nhất bạn phải đưa file Excel lên chứ (và file này phải chưa các hàm TCVN3, vni, CheckTCVNHFont, checkVNIfont, unicode..)
Bạn upload file lên đây rồi ta sẽ tính tiếp
 
Ít nhất bạn phải đưa file Excel lên chứ (và file này phải chưa các hàm TCVN3, vni, CheckTCVNHFont, checkVNIfont, unicode..)
Bạn upload file lên đây rồi ta sẽ tính tiếp

Anh ơi, cái file txt đính kèm là các hàm em đã sử dung đó ạ, em import từ file xla nên khi gửi file excel lên nó cũng ko mang theo hàm đi ạ
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Anh ơi, cái file txt đính kèm là các hàm em đã sử dung đó ạ, em import từ file xla nên khi gửi file excel lên nó cũng ko mang theo hàm đi ạ

Vậy thì bạn cho thêm cái file Excel mà bạn đang cần Define Name lên đây rồi người ta mới biết phải đặt name thế nào chứ
(Vì name nó phụ thuộc vào vị trí cell cụ thể của công thức)
 
Kính chào các bạn mình có một số công thức khá dài mà thường xuyên dùng nên muốn tìm cách rút gọn cho tiện sử dung, ví dụ mình có công thức sau:

CLEAN(TRIM(IF(CheckTCVNHFont(B2),tcvn3(B2),IF(checkVNIfont(B2),vni(B2),IF(checktcvnfont(B2),tcvn3(B2 ),unicode(B2))))))

>>> mình muốn thay thế bằng 1 hàm ví dụ ChuyenDoi(B2) mà có thể cho ra kết quả như công thức gốc ở trên

Trân trọng cảm ơn sự giúp đỡ của các bạn!
(Các hàm mình sử dụng ở trong file đính kèm)
Bạn thử thêm hàm này vào module và dùng hàm này xem.
PHP:
Function ChuyenDoi(rCel As Range) As String
Application.Volatile
Select Case UCase(Left(rCel.Font.Name, 3))
Case Is = ".VN"
    ChuyenDoi = TCVN3(rCel.Value)
Case Is = "VNI"
    ChuyenDoi = VNI(rCel.Value)
Case Else
    ChuyenDoi = UNICODE(rCel.Value)
End Select
ChuyenDoi = Application.WorksheetFunction.Clean(ChuyenDoi)
End Function
Dùng giống như bạn yêu cầu: =ChuyenDoi(B2)
 
Bạn thử thêm hàm này vào module và dùng hàm này xem.
PHP:
Function ChuyenDoi(rCel As Range) As String
Application.Volatile
Select Case UCase(Left(rCel.Font.Name, 3))
Case Is = ".VN"
    ChuyenDoi = TCVN3(rCel.Value)
Case Is = "VNI"
    ChuyenDoi = VNI(rCel.Value)
Case Else
    ChuyenDoi = UNICODE(rCel.Value)
End Select
ChuyenDoi = Application.WorksheetFunction.Clean(ChuyenDoi)
End Function
Dùng giống như bạn yêu cầu: =ChuyenDoi(B2)
Cám ơn bạn nhiều lắm, đúng là cái mình đang cần, như vậy mình có thể bỏ mấy cái hàm checkfont của mình đi được rồi! :)
Mình đã thêm 1 dòng cuối vì thiếu hàm trim thì trong 1 số trường hợp vẫn bị thừa khoảng trắng
ChuyenDoi = Application.WorksheetFunction.Trim(ChuyenDoi)
 
Chỉnh sửa lần cuối bởi điều hành viên:

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

Back
Top Bottom