Chỉ tính toán sổ làm việc đang hoạt động (Microsoft Excel)
Linda hỏi liệu có cách nào để chỉ tính sổ làm việc đang hoạt động không.
Khi một recalc được thực hiện bởi Excel, nó sẽ tính toán lại tất cả các sổ làm việc đang mở của cô ấy và nếu chúng là những sổ làm việc rất lớn, đôi khi có thể mất hơn mười lăm phút để tính lại. Nếu cô ấy có thể giới hạn những gì được tính toán lại, thì quá trình rõ ràng sẽ chạy nhanh hơn.
Thật không may, không có phương pháp trực tiếp để chỉ tính toán một sổ làm việc cụ thể. Tuy nhiên, bạn có thể chỉ tính toán trang tính đang hoạt động, nếu muốn. Đầu tiên, hãy đặt chế độ tính toán lại thành thủ công bằng cách làm theo các bước sau:
-
Chọn Tùy chọn từ menu Công cụ. Excel sẽ hiển thị hộp thoại Tùy chọn.
-
Đảm bảo rằng tab Tính toán được hiển thị. (Xem Hình 1.)
-
Chọn hộp kiểm Thủ công.
-
Bấm OK.
Giờ đây, lần duy nhất sổ làm việc của bạn (trên thực tế, tất cả các sổ làm việc đang mở của bạn) sẽ được tính lại là khi bạn nhấn F9. Nếu bạn chỉ muốn tính toán lại trang tính hiện tại, hãy nhấn Shift + F9.
Excel cũng cung cấp các hàm macro cho phép bạn thực hiện bất kỳ điều nào trong ba việc sau: tính toán tất cả các sổ làm việc đang mở, tính toán một trang tính cụ thể trong sổ làm việc hoặc tính toán một phạm vi ô được chỉ định trên một trang tính. Với kiến thức này, bạn có thể tạo một macro sẽ lặp qua tất cả các trang tính trong một sổ làm việc và tính toán lại từng trang.
Macro sau đặt chế độ tính toán thành thủ công (vì vậy các sổ làm việc khác sẽ không tính toán) và sau đó lặp lại và tính toán từng trang tính của sổ làm việc đang hoạt động.
Sub CalcBook() Dim wks As Worksheet Application.Calculation = xlManual For Each wks In ActiveWorkbook.Worksheets wks.Calculate Next Set wks = Nothing End Sub
Nếu bạn tin rằng bạn có thể muốn tính toán các phần khác nhau của sổ làm việc của mình vào những thời điểm khác nhau, bạn có thể mở rộng macro để nó thực hiện bất kỳ loại tính toán nào bạn có thể muốn:
Sub CalcWhat() Dim iAnsure As Integer Application.Calculation = xlManual iAnsure = InputBox("1 = Calculate A Used Range" _ & vbCrLf & _ "2 = Calculate This Worksheet" _ & vbCrLf & _ "3 = Calculate This Workbook" _ & vbCrLf & _ "4 = Calculate All Workbooks in Memory" _ & vbCrLf & vbCrLf & _ "Input Your Selection Number From Above" _ & vbCrLf & "Then Click OK", _ "Calculate What?", "Input Number Please", _ 5000, 5000) Select Case iAnsure Case 1 'Range Only Selection.Calculate Case 2 'Worksheet Only ActiveSheet.Calculate Case 3 'Workbook Only For Each wks In ActiveWorkbook.Worksheets wks.Calculate Next Case 4 'All Open Workbooks Application.CalculateFull End End Select End Sub
Macro này trình bày một hộp đầu vào nhắc người dùng về loại tính toán lại được mong muốn. Khi người dùng nhập một số từ 1 đến 4, kiểu tính toán lại mong muốn sẽ được thực hiện.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2877) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: