Hàm Evaluate bị lỗi khi mở lại (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

hailuatv

Thành viên mới
Tham gia
24/12/13
Bài viết
10
Được thích
0
Mình dùng hàm Evaluate để đọc công thức bằng cách Formulas\Define name, rất là OK, nhưng sau đó save chọn kiểu "Excel macro-enabled workBook, sau đó thoát ra và mở lại bị lỗi, không lý do, ai biết chỉ dùm cám ơn (có kèm theo file ví dụ
Bài đã được tự động gộp:

Tong nôi dung có 1 số từ nó dịch ra tiếng việt hết rồi đọc hơi khó hiểu mong các bạn thông cảm xem trong file đính kèm sẽ hiểu, xin cám ơn
 

File đính kèm

Evaluate là hàm macro 4
Phải enable macro thì nó mới chạy.
 
Thêm Sub này vào Workbook_Open()
Mã:
Private Sub Workbook_Open()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Activate
        Application.CalculateFull
    Next ws
    ThisWorkbook.Sheets(1).Activate
End Sub
 
Vẫn chạy bình thường, khi lưu lại và thoát ra, sau đó mở lại thì nó không tác dụng. các bạn làm thử như tôi trình bài trong tập tin đính kèm xem có sai sót chổ nào không, cám ơn
 
Vẫn chạy bình thường, khi lưu lại và thoát ra, sau đó mở lại thì nó không tác dụng. các bạn làm thử như tôi trình bài trong tập tin đính kèm xem có sai sót chổ nào không, cám ơn

Bạn gửi Ultraviewer hoặc chụp ảnh toàn màn hình lúc vừa mở lại file nhé.
 
Để con trỏ mục B1
Bước 1 vào Formulas\Define, hộp thoại xuất hiện vào mục name đặt tên là "Tinh"
Bước 2 vào mục Refers to lập công thức =EVALUATE(Sheet1!A1), hoàn thành
Khi xử dụng: vào A1 đánh công thức VD: 5*2+3, Sau đó vào B1 đánh =Tinh sẽ cho kết quả 13
Nhưng khi lưu lại và thoát ra, sau đó mở lại thì nó không tác dụng
 
Nếu mình không chịu cung cấp thông tin thì mình chịu khó mua Office bản quyền chuẩn đi nhé. Cần thiết mua cả Windows bản quyền.
Mấy hàng không chính hãng lởm khởm vậy đó.
 
Mình gởi Video quá trình thao tác của mình đây
Bài đã được tự động gộp:

Không đưa video lên được
 
Chỉ cần làm theo bài 3 thôi, có gì phức tạp đâu.

1741318068900.png

1741318210202.png
 
Nếu dùng name như bài 1 thì bị giới hạn việc phải viết công thức trên cùng dòng, cột B, và chỉ tính được cho cột ấn định là cột A. Viết 1 hàm VBA ngắn gọn như sau:

Mã:
Function Calc(a As String)
    Calc = Evaluate(a)
End Function
Viết ở đâu cũng được, dòng nào cột nào cũng được.

1741318785448.png
 
Lần chỉnh sửa cuối:
@ Bài #10:
Excel 365 mới có cái mục đó. Excel khác không có, chỉ đơn giản là cho phép macro chạy là được (chuẩn chỉ như bài #3 nêu).
1741321704638.png

chỉ tính được cho cột ấn định là cột A

Người ta viết là EVALUATE(Sheet1!A1) mà anh.
A1 chứ không phải $A1.

Tức là tham chiếu vào ô ngay cạnh bên trái.
 
@ Bài #10:
Người ta viết là EVALUATE(Sheet1!A1) mà anh.
A1 chứ không phải $A1.
Tức là tham chiếu vào ô ngay cạnh bên trái.
Tôi viết nhầm chút. CHỉ được viết công thức tại cột B (vì tham chiếu cột A). Nếu dữ liệu cột A mà viết công thức cột C, D, ... thì không tính được.

Ngoài ra trong security còn phải kiểm tra nếu dòng khoanh đỏ đang check phải gỡ check

1741322418330.png
 
Nếu dùng name như bài 1 thì bị giới hạn việc phải viết công thức trên cùng dòng, cột B, và chỉ tính được cho cột ấn định là cột A. Viết 1 hàm VBA ngắn gọn như sau:

Mã:
Function Calc(a As String)
    Calc = Evaluate(a)
End Function
Viết ở đâu cũng được, dòng nào cột nào cũng được.
...
Thời buổi bi giờ người ta dùng Lambda, lão chết tiệt ơi.
=Lambda(x, Evaluate(x))

(thêm một gợi ý cho lão nói chuyện hội thảo lăm đa sắp tới :p)
 
Ở đâu có vụ 255 ký tự vậy?
Tôi chỉ biết Lắm đá giới hạn 253 tham số.
Dạ, tôi đang nói hàm Evaluate.
Năm kia tôi đã viết hàm VBA cho chuỗi tính toán dài 1 cây số, dùng 1 hàm con. Giờ muốn thử lại bằng Lăm đa
 
Lần chỉnh sửa cuối:
Dạ, tôi đang nói hàm Evaluate.
Năm kia tôi đã viết hàm VBA cho chuỗi tính toán dài 1 cây số, dùng 1 hàm con. Giờ muốn thử lại bằng Lăm đa
Một buổi tot xô đôi tiếng đồng hồ đủ để bạn vào các chi tiết như thế sao?
Tôi theo quan niệm chỉ cần giới thiệu cho người ta các ý kiến thôi. Các gút mắc khác để cho người ta tự khám phá lấy.

Ví dụ, quan trọng nhất của lắm đá là:
1. Giúp đỡ được một số công việc khỏi phải dùng VBA, đỡ phải save file xlsm (không áp dụng cho Evaluate, vì đụng tới nó là phải save thành file macro enable).
2. Dùng đệ quy để giúp đỡ được một số công việc vòng lặp.

Ngay cả việc đệ quy bị giới hạn ở khoảng 203 lần tôi cũng không nhắc tới. Tót xô có giới hạn của nó.
 
Một buổi tot xô đôi tiếng đồng hồ đủ để bạn vào các chi tiết như thế sao?
Tôi theo quan niệm chỉ cần giới thiệu cho người ta các ý kiến thôi. Các gút mắc khác để cho người ta tự khám phá lấy.
À, tôi chỉ định thử với bản thân thôi. Còn talkshow thì chỉ nói 1 số ý:
- Cú pháp
- Cách dùng trực tiếp, cách dùng trong name
- Lợi ích
- Kết hợp với hàm khác
- Sơ lược về đệ quy
Mỗi ý có 1 vài thí dụ thực hành tại chỗ (vừa nói vừa làm).
Hỏi đáp nhanh. Nếu câu hỏi phức tạp thì hẹn trả lời sau.
Thêm 1 file làm sẵn (hơi phức tạp) để tham khảo nâng cao.

Tổng cộng tối đa có 90 phút thì chỉ vậy thôi.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom