Macro của tôi cập nhật một bảng tính lớn có số, nhưng nó chạy rất chậm vì excel đang hiển thị kết quả khi nó tính toán nó. Làm thế nào để dừng excel từ kết xuất đầu ra cho đến khi macro hoàn tất?Làm cách nào để ngăn Excel hiển thị bảng tính khi macro của tôi tính toán nó?
Trả lời
tôi sử dụng cả trong những giải pháp đề xuất:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
...
...
...
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Bạn có thể tắt tính toán tự động trong hộp thoại tùy chọn, nó đặt nó để nó chỉ tính khi bạn nhấn F9.
Application.ScreenUpdating = False
Và tất nhiên đặt lại thành True khi bạn hoàn tất, ngay cả khi lỗi được tăng lên. Ví dụ:
Public Sub MyMacro
On Error GoTo ErrHandler
Application.ScreenUpdating = False
... do my stuff that might raise an error
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
Application.ScreenUpdating = True
... Do something with the error, e.g. MsgBox
End Sub
Building khi Joe và Seer (này sử dụng cú pháp cũ vì vậy nó tương thích với VBA của Office 2000):
On Error Goto AfterCalculation
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
...
AfterCalculation:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Tôi cũng thích sử dụng cả hai giải pháp được đề xuất, mà còn giữ chế độ tính toán trước đó của người dùng.
Đối với ứng dụng đặc biệt này này có thể là không có vấn đề gì, nhưng nó thường là thực hành tốt nhất để cho những người sử dụng có các cài đặt của họ được phục hồi sau khi làm thủ thuật xong:
Application.ScreenUpdating = False
PreviousCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
...
...
...
Application.Calculation = PreviousCalcMode
Application.ScreenUpdating = True
NB. Nó cũng sẽ đáng giá thời gian của bạn để chèn một số lỗi xử lý mà bật Application.ScreenUpdating nên một lỗi xảy ra trong mã khác rực rỡ của bạn;) Nếu bộ nhớ phục vụ cho tôi đúng, Excel sẽ không hiển thị bất kỳ errormessages vv khi ScreenUpdating = false. Something như thế này:
Sub DoSomeThing
On Error Goto DisplayError
Application.ScreenUpdating = False
PreviousCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
...
...
...
Application.Calculation = PreviousCalcMode
Application.ScreenUpdating = True
Exit Sub
DisplayError:
Application.Calculation = PreviousCalcMode
Application.ScreenUpdating = True
MsgBox Err.Description
End 'This stops execution of macro, in some macros this might not be what you want'
'(i.e you might want to close files etc)'
End Sub
- 1. Tôi làm cách nào để hiển thị tên người dùng cửa sổ trong bảng tính excel bằng macro?
- 2. Làm cách nào để đánh dấu các trường được tính toán trong bảng tính Excel?
- 3. Excel & VBA: Bỏ qua công thức tính toán trong Macro
- 4. Làm cách nào để viết bảng tính excel của tôi thành biến, sử dụng PhpExcel?
- 5. Kết hợp các bảng tính excel vào một bảng tính
- 6. Excel tiếp tục tải bảng tính của tôi với lỗi
- 7. Làm cách nào để hiển thị trang tính theo tên bằng VSTO 2010 cho Excel
- 8. Truy vấn bảng tính excel của tôi với VBA
- 9. Làm cách nào để thay đổi tên trang tính từ C# trên bảng tính Excel
- 10. Tính số ngẫu nhiên tĩnh (tính toán nó một lần) trong Excel
- 11. ngăn tải lại thẻ đối tượng khi thay đổi hiển thị (thuộc tính hiển thị kiểu)
- 12. Cách tải xuống và hiển thị bảng tính excel trong trình duyệt
- 13. Sao chép/Dán/Tính toán các ô hiển thị từ một cột của bảng được lọc
- 14. Làm cách nào để tính toán entropy của biểu đồ?
- 15. Làm thế nào để bạn chọn toàn bộ bảng tính excel với Phạm vi sử dụng Macro trong VBA?
- 16. Làm cách nào để loại bỏ "jitter" khỏi tính toán "thời gian còn lại ước tính" (và ETA) của tôi?
- 17. Hiển thị tiến trình tính toán gl trong qt
- 18. Nhập dữ liệu bảng tính Excel vào một bảng tính Excel khác có chứa VBA
- 19. Cách lấy danh sách CHỈ tên bảng tính Excel trong Excel bằng OLEDB; lọc ra các trang tính không hiển thị trong siêu dữ liệu
- 20. EXcel VBA: Excel Macro để tạo bảng trong PowerPoint
- 21. C# đọc bảng tính excel
- 22. Làm thế nào để xóa bảng tính excel khỏi sổ làm việc excel trong C#?
- 23. Tôi làm cách nào để hiển thị gói DialogFragment sử dụng tính tương thích?
- 24. Cách xác định nhanh các trang tính nào có macro trong Sổ làm việc Excel?
- 25. Làm thế nào để xuất dữ liệu từ bảng tính Excel to SQL Server 2008 bảng
- 26. Trích xuất VBA từ bảng tính Excel
- 27. Làm cách nào để thay đổi tên thuộc tính khi hiển thị json?
- 28. Đọc bảng tính Excel trong bộ nhớ
- 29. Tôi làm cách nào để tính số học giờ/giờ trong Bảng tính Google?
- 30. Làm cách nào để hiển thị thuộc tính Văn bản của UserControl?
vĩ mô của tôi chỉ chạy khi tôi thực hiện nó vì vậy tôi tốt trong lĩnh vực này, nhưng tôi không muốn xem excel sao chép xung quanh dữ liệu (theo quy định của macro), chỉ kết quả cuối cùng – Oskar