Xóa Macro Trong Excel / Top 10 # Xem Nhiều Nhất & Mới Nhất 6/2023 # Top View | Hoisinhvienqnam.edu.vn

Vba Excel 2013 Xóa Tất Cả Các Bộ Lọc Macro

Chủ đề này là cổ xưa, nhưng tôi không hài lòng với bất kỳ câu trả lời nào, và cuối cùng tôi tự viết. Tôi đang chia sẻ nó ngay bây giờ:

Chúng tôi bắt đầu với:

Sub ResetWSFilters(ws as worksheet) If ws.FilterMode Then ws.ShowAllData Else End If 'This gets rid of "normal" filters - but tables will remain filtered For Each listObj In ws.ListObjects If listObj.ShowHeaders Then listObj.AutoFilter.ShowAllData listObj.Sort.SortFields.Clear End If Next listObj 'And this gets rid of table filters End Sub

Chúng ta có thể cung cấp một bảng tính cụ thể cho macro này, nó sẽ chỉ lọc ra một bảng tính đó. Hữu ích nếu bạn cần đảm bảo chỉ cần một bảng tính là rõ ràng. Tuy nhiên, tôi thường muốn làm toàn bộ sách bài tập

Sub ResetAllWBFilters(wb as workbook) Dim ws As Worksheet Dim wb As Workbook Dim listObj As ListObject For Each ws In wb.Worksheets If ws.FilterMode Then ws.ShowAllData Else End If 'This removes "normal" filters in the workbook - however, it doesn't remove table filters For Each listObj In ws.ListObjects If listObj.ShowHeaders Then listObj.AutoFilter.ShowAllData listObj.Sort.SortFields.Clear End If Next listObj Next 'And this removes table filters. You need both aspects to make it work. End Sub

Bạn có thể sử dụng điều này, ví dụ, bằng cách mở một sổ làm việc bạn cần xử lý và đặt lại các bộ lọc của chúng trước khi làm bất cứ điều gì với nó:

Sub ExampleOpen() Set TestingWorkBook = Workbooks.Open("C:Intel......") 'The .open is assuming you need to open the workbook in question - different procedure if it's already open Call ResetAllWBFilters(TestingWorkBook) End Sub

Công cụ tôi sử dụng nhiều nhất: Đặt lại tất cả các bộ lọc trong sổ làm việc mà mô-đun được lưu trữ trong:

Sub ResetFilters() Dim ws As Worksheet Dim wb As Workbook Dim listObj As ListObject Set wb = ThisWorkbook 'Set wb = ActiveWorkbook 'This is if you place the macro in your personal wb to be able to reset the filters on any wb you're currently working on. Remove the set wb = thisworkbook if that's what you need For Each ws In wb.Worksheets If ws.FilterMode Then ws.ShowAllData Else End If 'This removes "normal" filters in the workbook - however, it doesn't remove table filters For Each listObj In ws.ListObjects If listObj.ShowHeaders Then listObj.AutoFilter.ShowAllData listObj.Sort.SortFields.Clear End If Next listObj Next 'And this removes table filters. You need both aspects to make it work. End Sub

Ý Nghĩa Của Macro Trong Excel

Macro là gì trong Excel và khi nào nó được sử dụng?

Macro Excel là tập hợp các lệnh lập trình được lưu trữ trong mã VBA có thể được sử dụng để loại bỏ nhu cầu lặp lại các bước của các tác vụ thường được thực hiện lặp đi lặp lại.

Các tác vụ lặp lại khác mà macro có thể được sử dụng để lưu bao gồm:

thêm hoặc xóa hàng và cột

trang tính bảo vệ hoặc không bảo vệ

chọn một dải ô

thêm ngày hiện tại vào một trang tính

Kích hoạt Macro

Macro có thể được kích hoạt bằng phím tắt, biểu tượng trên thanh công cụ hoặc nút hoặc biểu tượng được thêm vào trang tính.

Macro so với mẫu

Trong khi sử dụng macro có thể là trình tiết kiệm thời gian tuyệt vời cho các tác vụ lặp lại, nếu bạn thường xuyên thêm các tính năng hoặc nội dung định dạng nhất định – chẳng hạn như tiêu đề hoặc biểu tượng công ty vào trang tính mới, có thể tốt hơn là tạo và lưu tệp mẫu chứa tất cả các mục như vậy thay vì tạo chúng lại lần nữa mỗi khi bạn bắt đầu một trang tính mới.

Macro và VBA

Như đã đề cập, trong Excel, macro được viết bằng Visual Basic cho Ứng dụng (VBA). Macro bằng cách sử dụng VBA được thực hiện trong cửa sổ soạn thảo VBA, có thể được mở bằng cách nhấp vào biểu tượng Visual Basic trên tab Developers của ribbon (xem bên dưới để biết hướng dẫn cách thêm tab Developers vào ribbon nếu cần).

Trình ghi vĩ mô của Excel

Đối với những người không thể viết mã VBA, có một bộ ghi macro tích hợp cho phép bạn ghi lại một loạt các bước bằng bàn phím và chuột mà Excel sau đó chuyển đổi thành mã VBA cho bạn.

Giống như trình soạn thảo VBA đã đề cập ở trên, Trình ghi macro nằm trên tab Nhà phát triển của Ribbon.

Thêm tab nhà phát triển

Theo mặc định trong Excel, tab Nhà phát triển không có trên Ribbon. Để thêm nó:

Nhấp vào tab Tệp để mở danh sách tùy chọn thả xuống

Trên danh sách thả xuống, bấm Tùy chọn để mở hộp thoại Tùy chọn Excel

Trong bảng điều khiển bên trái của hộp thoại, nhấp vào Customize Ribbon để mở cửa sổ Customize Ribbon

Trong phần Tab chính trong cửa sổ bên phải, nhấp vào hộp kiểm bên cạnh Nhà phát triển để thêm tab này vào Ribbon

Bấm OK để đóng hộp thoại và quay lại trang tính.

Nhà phát triển hiện có mặt – thường là ở phía bên tay phải của Ribbon

Sử dụng đầu ghi vĩ mô

Như đã đề cập, Macro Recorder đơn giản hóa nhiệm vụ tạo macro – thậm chí, đôi khi, đối với những người có thể viết mã VBA, nhưng có một vài điểm cần lưu ý trước khi bạn bắt đầu sử dụng công cụ này.

1. Lập kế hoạch cho Macro

Ghi macro bằng Macro Recorder bao gồm một chút đường cong học tập. Để đơn giản hóa quy trình, hãy lên kế hoạch trước – ngay cả đến thời điểm viết ra những gì vĩ mô được dự định thực hiện và các bước cần thiết để hoàn thành nhiệm vụ.

2. Giữ Macro nhỏ và cụ thể

Lớn hơn một vĩ mô là về số lượng các nhiệm vụ nó thực hiện phức tạp hơn nó có thể sẽ được lập kế hoạch và ghi lại nó thành công.

Macro lớn hơn cũng chạy chậm hơn – đặc biệt là các macro có nhiều tính toán trong các trang tính lớn – và chúng khó gỡ lỗi và sửa lỗi hơn nếu chúng không hoạt động đúng vào lần đầu tiên.

Bằng cách giữ các macro nhỏ và cụ thể trong mục đích, việc xác minh tính chính xác của kết quả và xem chúng đã đi sai ở đâu nếu mọi việc không diễn ra theo đúng kế hoạch.

3. Đặt tên Macros phù hợp

Tên macro trong Excel có một số hạn chế đặt tên phải được tuân thủ. Đầu tiên và quan trọng nhất là tên macro phải bắt đầu bằng một chữ cái của bảng chữ cái. Các ký tự tiếp theo có thể là số nhưng tên macro không thể bao gồm dấu cách, ký hiệu hoặc dấu chấm câu.

Cũng không phải một tên macro chứa bất kỳ một số từ dành riêng là một phần của VBA sử dụng như là một phần của ngôn ngữ lập trình của nó như If , GoTo , New hoặc Select .

Mặc dù tên macro có thể dài tối đa 255 ký tự nhưng ít khi cần thiết hoặc được khuyến khích sử dụng nhiều tên trong tên.

Đối với một, nếu bạn có rất nhiều macro và bạn có kế hoạch chạy chúng từ hộp thoại macro, tên dài chỉ gây ra tắc nghẽn khiến việc chọn macro bạn đang theo dõi trở nên khó khăn hơn.

Cách tiếp cận tốt hơn là giữ tên ngắn gọn và tận dụng khu vực mô tả để cung cấp chi tiết về những gì mỗi macro thực hiện.

Phần gạch dưới và viết hoa trong tên

Vì tên macro không thể bao gồm dấu cách, một ký tự được cho phép và làm cho tên macro đọc dễ dàng hơn là ký tự gạch dưới có thể được sử dụng giữa các từ thay cho khoảng trắng – chẳng hạn như Change_cell_color hoặc Addition_formula.

Một tùy chọn khác là sử dụng viết hoa nội bộ (đôi khi được gọi là Trường hợp Lạc đà ) bắt đầu mỗi từ mới trong tên có chữ cái viết hoa – chẳng hạn như ChangeCellColor và AdditionFormula.

Tên macro ngắn dễ dàng hơn để chọn trong hộp thoại macro, đặc biệt nếu trang tính chứa một số macro và bạn ghi nhiều macro, do đó bạn có thể dễ dàng nhận dạng chúng trong. Hệ thống cũng cung cấp một trường cho Mô tả, mặc dù không phải ai cũng sử dụng nó.

4. Sử dụng tham chiếu ô tương đối so với tuyệt đối

Tham chiếu ô , chẳng hạn như B17 hoặc AA345, xác định vị trí của mỗi ô trong một trang tính.

Theo mặc định, trong Macro Recorder tất cả các tham chiếu ô là tuyệt đối có nghĩa là các vị trí ô chính xác được ghi vào macro. Ngoài ra, macro có thể được đặt để sử dụng các tham chiếu ô tương đối có nghĩa là các chuyển động (số lượng cột sang trái hoặc phải bạn di chuyển con trỏ) được ghi lại thay vì vị trí chính xác.

Mà một trong những bạn sử dụng phụ thuộc vào những gì vĩ mô được thiết lập để thực hiện. Nếu bạn muốn lặp lại các bước tương tự – chẳng hạn như định dạng cột dữ liệu – hơn và hơn, nhưng mỗi khi bạn định dạng các cột khác nhau trong một trang tính, thì việc sử dụng các tham chiếu tương đối sẽ là thích hợp.

Mặt khác, nếu bạn muốn định dạng cùng phạm vi ô – chẳng hạn như A1 thành M23 – nhưng trên các trang tính khác nhau, thì có thể sử dụng tham chiếu ô tuyệt đối để mỗi lần macro chạy, bước đầu tiên của nó là di chuyển di chuyển con trỏ đến ô A1.

Việc thay đổi tham chiếu ô từ tương đối so với tuyệt đối có thể dễ dàng thực hiện bằng cách nhấp vào biểu tượng Sử dụng tham chiếu tương đối trên tab Nhà phát triển của ruy-băng.

5. Sử dụng các phím trên bàn phím so với chuột

Việc có tổ hợp phím bàn phím ghi macro khi di chuyển con trỏ ô hoặc chọn một dải ô thường thích hợp hơn khi di chuyển chuột được ghi lại như một phần của macro.

Sử dụng tổ hợp phím bàn phím – chẳng hạn như Ctrl + End hoặc Ctrl + Shift + phím mũi tên phải – để di chuyển con trỏ tới các cạnh của vùng dữ liệu (các ô chứa dữ liệu trên trang tính hiện tại) thay vì nhấn liên tục mũi tên hoặc tab các phím để di chuyển nhiều cột hoặc hàng đơn giản hóa quá trình sử dụng bàn phím.

Ngay cả khi nói đến việc áp dụng các lệnh hoặc chọn các tùy chọn ribbon sử dụng các phím tắt bàn phím thì tốt hơn là sử dụng chuột.

Alike posts

Sapid posts

Macro Là Gì? Cách Tạo Macro Trong Excel Với 8 Bước Đơn Giản

Trong bài này mình sẽ hướng dẫn bạn cách tạo một Macro trong Excel VBA, mình sẽ không hướng dẫn quá sâu bởi chúng ta đang tập tành học VBA.

Nói đến Macro thì hầu như dân văn phòng ai cũng thấy khiếp sợ, bởi phải có kiến thức lập trình Visual Basic căn bản thì mới làm ra được những Macro chuyên nghiệp.

1. Macro là gì?

Trong Excel, Macro là tập hợp những thao tác được gom lại, và thể hiện qua những dòng code dựa trên ngôn ngữ lập trình Visual Basic for Applications (VBA).

Ta có thể hiểu nôm na rằng Macro là một nơi lưu trữ nhiều hành động để thực hiện một chức năng nào đó, và mỗi khi muốn sử dụng thì ta chỉ cần gọi đến Macro, lúc này Excel sẽ tự động thực hiện các hành động đó, ta không cần phải làm gì cả.

Ví dụ: Mình muốn xây dựng một chức năng gồm ba hành động đó là: in đậm, in nghiêng, và chuyển thành chữ in hoa. Nếu thực hiện thủ công thì phải lam ba bước rất phiền hà. Nếu chỉ dùng một lần thì không sao, chứ dùng cả trăm lần thì mất khá nhiều thời gian. Vì vậy mình sẽ viết một Macro gộp ba thao tác đó lại, mỗi khi muốn sử dụng thì gọi đến mà thôi, việc còn lại Excel tự chạy ngầm ba hành động đó.

Nếu bạn là dân lập trình thì mình nghĩ nó không quá khó hiểu, vì công dụng rất giống với hàm ( function). Nhưng bạn là dân văn phòng thì quả thật rất hại não.

2. Cách tạo Macro Excel đơn giản

Bây giờ mình sẽ hướng dẫn tạo một Macro đầu tay, để từ đó bạn se hiểu được Macro là gì và công dụng của nó trong Excel là như thế nào.

Giả sử mình muốn tạo ra một chức năng thực hiện 3 thao tác gồm: Bôi đâm, in nghiêng và chuyển thành chữ in hoa.

Nếu làm điều này bằng thủ công thì rất dài dòng. Chưa tính đến chuyện làm rất nhiều lần thì sẽ tốn không ít thời gian.

Vì vậy mình sẽ tạo một Macro, mỗi khi muốn sử dụng ở đâu thì chỉ cần gọi Macro này ra là được. Về nguyên lý thì mỗi khi bạn gọi Macro này thì Excel sẽ thực hiện ngầm 3 thao tác đó và áp dụng lên đối tượng bạn muốn sử dụng.

Design Mode bật thì bạn đang ở giao diện thiết kế

Design Mode tắt thì bạn đang ở giao diện sử dụng, dùng để chạy thực tế

Vì đang ở chế độ Design Mode nên bạn có thể di chuyển được button này tới bất kì đâu.

B4: Khung code Visual Basic xuất hiện, và nó tạo sẵn một function, đây chính là nơi mà bạn code cho Macro.

Bạn hãy nhập đoạn code sau vào ở giữa hai dòng đó.

chúng tôi = True ActiveCell.Font.Italic = True ActiveCell.Value = UCase(ActiveCell.Value) End Sub

Giao diện như sau:

Giải thích:

ActiveCell là Cell đang được chọn

ActiveCell.Font.Bold = True là thiết lập bôi đậm

ActiveCell.Font.Italic = True là thiết lập in nghiêng

ActiveCell.Value = UCase(ActiveCell.Value) là chuyển chữ thường thành chữ hoa

B5: Chạy thử

Hãy lưu file lại và thoát giao diện VB Code.

Tắt chế độ Design Mode, sau đó chọn một ô bất kì và nhập vào dòng chữ ” freetuts“.

3. Các bước tạo một Macro trong Excel chuyên nghiệp

Và sau đây mình sẽ đưa ra 8 bước giúp bạn tạo ra những Macro chuyên nghiệp.

Bước 1: Bật Developer Tool Bước 2: Kiểm tra cấu hình bảo mật

Bước tiếp theo là kiểm tra một chút cấu hình về bảo mật để đảm bảo an toàn khi làm việc với Macro.

Bước 3: Kiểm tra định dạng lưu trữ file Bước 4: Biết cách nhập code Visual Basic Bước 5: Tạo một Module VBA

Tất cả các Macros đều lưu trử thành dạng Module, vì vậy ta phải tạo nó trước.

Hãy mở Visual Basic Code lên, tại phần VBA Project là nơi chứa các Workbook và Sheet của project.

Bước 6: Tạo code Macro đầu tiên Sub MyFirstMacro() End Sub Bước 7: Nhập code xử lý Macro

Giả sử mình muốn khi chạy Macro này thì sẽ xuất hiện một ô thông báo.

Phần này bạn chưa học, nhưng bạn cứ nhập như mình nói nha, những bài tiếp theo ta sẽ học kỹ hơn.

Hãy nhập dòng code sau vào giữa 2 dòng code ở phần 6.

Bước 8: Chạy Macro

Một hộp thoại thông báo xuất hiện dòng chữ ” Hello World” là bạn đã chạy thành công.

Giới Thiệu Về Macro Trong Excel (Windows)

Macro – trình tự động mô phỏng tác vụ người dùng trong Excel

Macro là một chuỗi tự động được nhập vào, mô phỏng thao tác gõ phím hoặc thao tác với chuột của người dùng. Một macro thường được sử dụng để thay thế một loạt các hành động lặp đi lặp lại và phổ biến trong việc xử lý bảng tính. Chẳng hạn bạn có thể ghi một định dạng và sau đó lặp lại ở bất cứ đâu bằng một thao tác chạy bộ ghi.

Ghi macro trong Windows Macro trong Windows

Một macro sẽ ghi lại toàn bộ những bước thao tác và thể hiện qua code Visual Basic for Applications (VBA). Những bước thao tác này có thể bao gồm nhập chữ hoặc số, chọn ô, chọn lệnh trong thanh ribbon hay trong menu, định dạng ô, định dạng cột/hàng, import dữ liệu từ nguồn ngoài như Access… VBA là một phần tử của bộ ngôn ngữ lập trình Visual Basic được tích hợp vào hầu hết các ứng dụng Office. Mặc dù VBA cung cấp cho bạn khả năng tự động hóa các thao tác đối với các ứng dụng Office, đôi khi ta không cần thiết phải sử dụng đến nếu trình ghi Macro có thể thực hiện điều đó hộ bạn.

Macro và các công cụ VBA có thể tìm thấy trong thẻ Developer. Về mặc định thẻ này bị ẩn đi, bạn có thể tham khảo cách hiện thẻ tại

Một số tip hữu dụng sau đây về macro mà bạn nên biết:

Khi bạn ghi một bản ghi để làm một số tác vụ, Excel sẽ chỉ chạy tác vụ đó trong vùng được xác định sẵn. Điều này có nghĩa là nếu bạn thêm hàng/cột vào trong vùng đã ghi, macro sẽ không chạy thao tác cho vùng mới thêm vào.

Nếu bạn muốn xử lý một tác vụ dài, hãy chia thành những bản ghi nhỏ hơn thay vì một bản ghi lớn.

Macro không chỉ áp dụng trong phạm vi Excel. Bạn có thể tạo một bản ghi liên kết tới các ứng dụng Office khác có hỗ trợ VBA. Chẳng hạn như ghi một macro để tạo bảng trong Excel, sau đó đưa vào Outlook để gửi tới địa chỉ trong bảng.

Để ghi ta làm như sau:

Trong thẻ Developer, nhóm Code, chọn Record Macro

Để liên kết với một tổ hợp phím tắt, trong mục Shortcut key, dùng bất cứ phím nào theo ý muốn. Và khi phím tắt này trùng với các phím tắt mặc định, chẳng hạn như Ctrl + Z, bạn sẽ mất đi tính năng Ctrl + Z có sẵn trong Excel (Undo).

Tại Store macro in, chọn vị trí bạn muốn đặt bản ghi.

Trong mục Description, ghi những ghi chú về bản ghi.

Để ngừng việc ghi, vào lại thẻ Developer, nhóm Code và chọn Stop Recording.

Làm việc với Macro trong Excel

Tìm hiểu thêm về VBA qua những bài viết sau:

Khóa VBA101 – VBA cho người mới Form nhập liệu cơ bản với VBA