Có lệnh Undo cho macro

Liên hệ QC

trantuonganh2008

Thành viên thường trực
Tham gia
8/11/08
Bài viết
305
Được thích
53
Cho mình hỏi làm cách nào để Undo lại sau khi cho chạy macro. Mình có dùng lệnh Application.Undo ở dòng đầu tiên nhưng bị báo lỗi. Nhờ các bạn chỉ giúp nhé!
 
Lần chỉnh sửa cuối:
Tôi không hiểu tại sao trong Excel thì không Undo được khi dùng lệnh VBA nhưng nếu thật sự cần thiết thì có thể vẫn làm được, chỉ có điều hơi cầu kỳ.
Trước khi bạn thay đổi 1 giá trị nào đó thì bạn hãy lưu lại giá trị ban đầu và giá trị thay đổi vào 1 nơi nào đó giả sử là file.txt
Ví dụ:
A1 Value abc def
B3 FontBold True False
H9 FontSize 10 14
.................................................
Khi muốn Undo thì làm ngược trở lại và nhớ thứ tự Undo để có thể Redo, nếu việc lưu và đọc file text có trở ngại thì lưu vào sheet của file.xla cũng được.
Ý tưởng là thế, và có thể thực hiện được vì tôi đã từng làm cho chương trình cờ tướng.
Riêng về việc Undo Macro thì tôi cũng đã thấy trên Net nói đến rồi nhưng chưa nghiên cứu cụ thể ngta làm thế nào, bạn có thể tìm qua google để biết cụ thể.
 
hoa35ktxd đã viết:
dùng lệnh VBA nhưng nếu thật sự cần thiết thì có thể vẫn làm được, chỉ có điều hơi cầu kỳ.
Trước khi bạn thay đổi 1 giá trị nào đó thì bạn hãy lưu lại giá trị ban đầu và giá trị thay đổi vào 1 nơi nào đó giả sử là file.txt
Cách này khó thực hiện lắm, hầu như là không thể!? Giả sử ta Delete 1 sheet nào đó rồi thử Undo xem sao? Bản thân excel còn chưa thực hiện được việc UNDO này cơ mà!

Thêm vài thao tác nữa, ví dụ: Delete 1 dòng bất kỳ, Hide 1 cột bất kỳ, sau đó tùy chỉnh độ rộng 1 cột khác. Lúc này Code sẽ càng dài ra.

Nói tóm lại, nếu đã sử dụng macro thì ta nên chấp nhận việc "hạ thủ bất hoàn". Tuy nhiên chúng ta có thể cảnh báo trước người dùng bằng 1 MSGBOX đại khái như: "Bạn có muốn thực hiện lệnh/macro này hay không? - YES/NO" hoặc "Macro này sẽ thực hiện việc xóa toàn bộ dữ liệu trên bản tính hiện hành, bạn có thực sự muốn thực hiện không? YES/NO", v.v....
 
Lần chỉnh sửa cuối:
Tôi có 1 file này nhưng chưa nghiên cứu kỹ xem nó làm thế nào.
Các bạn thử nghiên cứu xem nhé.
 

File đính kèm

Hãy chịu khó tìm trước khi hỏi

Mình thử nhập từ khóa 'Undo macro' vô ngăn tìm kiếm của diễn đàn thì nhận được cơ mang nào là bài.

Chúc vui! :-=
 
Web KT

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

Back
Top Bottom