Biến chuổi phép tính thành kết quả như thế nào?

Liên hệ QC

nokiano258vn

Thành viên lười biếng
Tham gia
28/8/07
Bài viết
268
Được thích
277
Nghề nghiệp
Bồi thường giải phóng mặt bằng
Tôi có các phép tính ở cột A1 ví dụ như sau: 1+2*3-1, có công thức noà để cho được đáp số vào ô B1 không. Cảm ơn nhiều!
 
Bạn copy đoạn code sau vào Module của File Excel

Mã:
Public Function eval(fmlStr As String)
    eval = Evaluate(fmlStr)
End Function

tại ô b1 bạn gõ = eval(a1)

Thân.
 
Hay đơn giản hơn là chọn cell A1, Insert\Name\Define... Gõ tên TINH, refer to = EVALUATE(Sheet!$A$1)
Tại cell bất kỳ trong bảng tính, gỏ =TINH
ANH TUẤN
 
cách của bạn anhtuan1066 dùng hàm macro4 trong Define Name, còn của Soi Bien là hàm của VBA(VB6)
 
anhtuan1066 đã viết:
Thế sao? Tôi học lóm chứ chưa từng biết nó là của XL4... Bạn ơi... có thể giới thiệu thêm vài món tuyệt chiêu từ XL4 này dc ko?
ANH TUẤN

Name không phải của Macro4 mà là Macro4 cũng dùng Name
Ngoài ra name cũng được dùng bình thường thậm chí được cả VBA dùng nữa.
Đây là một công cụ của excel.

To bác kelvin
: Bác cố gắng bố trí thời gian để chúng em còn có dịp được biết : Macro Sheet như thế nào.

cảm ơn bác.

Thân!
 
biến đổi chuỗi phép tính

Nếu ô của tôi không phải là 1+2+3-2 mà là 2m x 2cái hoặc 2m x 1.2m x 2bộ thì có thể giải quyết được không. Tôi có một đoạn code đã giải quyết được chữ “m” hoặc dấu “x” nhưng chữ cái hoặc chữ bộ thì không được
 
Lần chỉnh sửa cuối:
nokiano258vn đã viết:
Nếu ô của tôi không phải là 1+2+3-2 mà là 2m x 2cái hoặc 2m x 1.2m x 2bộ thì có thể giải quyết được không
Dc.. nhưng với điều kiện đừng gõ tiếng Việt có dấu (ko biết font ABC thì thế nào)
Function Text2Func(myCell As Range) As Variant
Dim strTemp As String
strTemp = Replace(myCell.Text, "x", "*")
strTemp = Replace(strTemp, ":", "/")
strTemp = Replace(strTemp, "m", "")
strTemp = Replace(strTemp, "cai", "")
strTemp = Replace(strTemp, "bo", "")
Text2Func = Evaluate(strTemp)
End Function
.......................................
Ah... vừa thử xong... dùng FontABC thì OK
Function Text2Func(myCell As Range) As Variant
Dim strTemp As String
strTemp = Replace(myCell.Text, "x", "*")
strTemp = Replace(strTemp, ":", "/")
strTemp = Replace(strTemp, "m", "")
strTemp = Replace(strTemp, "c¸i", "")
strTemp = Replace(strTemp, "bé", "")
Text2Func = Evaluate(strTemp)
End Function
ANH TUẤN
 
Lần chỉnh sửa cuối:
Sao lại phải dùng FontABC, Dùng Vietkey không được à, mà bây giờ đêm hôm thế này kiếm đâu ra, mà chữ “cái” và chữ “bộ” không có dấu à?
 
Lần chỉnh sửa cuối:
nokiano258vn đã viết:
Sao lại phải dùng FontABC, Dùng Vietkey không được à, mà bây giờ đêm hôm thế này kiếm đâu ra, mà chữ “cái” và chữ “bộ” không có dấu à?

Đọc kỹ :

anhtuan1066 đã viết:
Dc.. nhưng với điều kiện đừng gõ tiếng Việt có dấu (ko biết font ABC thì thế nào)

Bác ấy đang nói về Font, còn Vietkey là bộ gõ

Tiếng việt không dấu : VD như : Tieng Viet Khong Dau . . . .


Thân!
 
VietKey với FontABC là 2 khái niệm khác nhau bạn ơi... Vietkey là bộ gõ còn Font thì là... font thôi... Trong máy mình hiện tại người ta đang dùng 3 loại font thông dụng nhất
1> Khi mới cài Windows thì trong máy chỉ có font của Windows và 1 vài font hổ trợ Unicode (cái nào gõ dc tiếng Việt chính là nó, chẳng hạn Arial, Times new roman)
2> Khi cài thêm các phần mềm văn phòng thì ta thường cái vào 2 loại font ABC và Vni...
Còn chuyện tại sao VBA nó ko hổ trợ Unicode thì tôi ko biết... chỉ phát hiện rằng nếu bạn dùng FontABC là OK tuốt!... Cách của tôi gõ chử tiếng Việt vào code là như vầy: Tôi chọn Font .VNARIAL trứớc, tiếp theo là click phải chuột vào biểu tượng Vietkey, chọn TCVN3 và gõ vào cell những ký tự mình cần... Copy ký tự ấy và paste vào code...
Theo như bạn nói ở trên e rằng máy bạn chưa có bộ font ABC nhỉ? Kiểm tra lại xem... Mấy bộ font này thường có dấu . ở đầu (.Vnarial, .Vntime)
Nếu bạn chưa có font này thì mail cho tôi... Tôi sẽ gữi cho bạn ngay lập tức bộ FontABC, dung lượng 2.3MB... d/c mail của tôi: yeulachet1066@yahoo.com
ANH TUẤN
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom