Gitiho sẽ giới thiệu cho bạn thư viện mã VBA – một danh sách các mã VBA hữu ích cho Excel mà bạn có thể bắt đầu sử dụng ngay lập tức. Những mã này cực kỳ hữu ích cho những người mới bắt đầu chưa sử dụng VBA Excel trước đây.
Tóm Tắt
Mã macro VBA là gì ?
Mã macro đề cập đến mã VBA (Visual Basic for Applications) cho macro.
Bạn có thể tạo macro trong Excel bằng cách ghi lại các bước bạn muốn nó thực hiện hoặc bằng cách tự viết VBA. Việc tự viết mã VBA hoặc mã macro này cho phép bạn kiểm soát tốt với các macro của mình. Mã VBA có thể đơn giản là thực hiện một bước định dạng cơ bản hoặc nó có thể làm điều gì đó lớn hơn chẳng hạn như xuất tất cả các trang tính của sổ làm việc dưới dạng PDF riêng biệt.
Cách sử dụng mã macro VBA
Với thư viện mã mà Gitiho cung ứng cho bạn trong bài viết này, bạn chỉ cần sao chép và dán chúng khi muốn sử dụng. Rất tiện nghi và đơn thuần phải không. Tuy nhiên, bạn cần bảo vệ rằng bạn dán chúng vào đúng vị trí .
Thực hiện theo các bươc sau để bắt đầu viết mã VBA:
Bước 1: Bấm Developer > Visual Basic hoặc nhấp tổ hợp phím Alt + F11
Trình soạn thảo Visual Basic sẽ mở ra và hành lang cửa số Project Explorer được hiển thị ở bên trái. Nó liệt kê những sổ thao tác đang mở và những dự án Bất Động Sản khác .
Bước 2: Bấm vào cửa sổ làm việc mà bạn muốn chèn mã VBA và chọn Insert > Module.
Bước 3 : Sao chép và dán mã mà bạn cần từ bài viết này vào hành lang cửa số mã .
Bước 4: Nhấp vào Developer > Macros. Chọn macro từ danh sách và nhấp vào Run.
Trong thư viện mã VBA, có một hạng mục tên là Events – Sự kiện. Các macro này sẽ không được tàng trữ trong những mô-đun, điều này sẽ được lý giải khi tất cả chúng ta khám phá mã. Nhưng hầu hết những macro trong list này được tàng trữ trong những mô-đun và thực thi theo tiến trình được lý giải ở trên .
Thêm nút để kích hoạt macro VBA
Mặc dù hoàn toàn có thể chạy macro từ hành lang cửa số macro nhưng việc gán macro cho một nút mà bạn hoàn toàn có thể nhấp vào ngay trên thanh công cụ sẽ giúp bạn chạy macro thuận tiện hơn .
Bạn có thể chèn nút này trên thanh công cụ truy nhập nhanh – Quick Access Toolbar
Cách thêm một nút vào thanh công cụ truy nhập nhanh – Quick Access Toolbar để chạy macro của bạn như sau:
Bước 1: Nhấp vào mũi tên Customize Quick Access Toolbar và nhấp vào More Commands.
Bước 2: Bấm vào mũi tên trên danh sách Choose commands from và chọn macro bạn muốn và nhấp vào Add.
Bước 3: Nhấp vào nút Modify để thay đổi hình ảnh và tên hiển thị của nút và chọn OK.
Bây giờ nút macro sẽ Open trên thanh công cụ truy vấn nhanh và sẽ chạy macro của bạn khi bạn nhấp vào ( tên hiển thị được hiển thị khi bạn di chuột qua nút )Xem thêm : Hướng dẫn sử dụng VBA để sao chép tài liệu từ Excel sang Word
Thư viện mã VBA trong Excel
Các ví dụ về mã macro trong list này đã được chia thành những hạng mục để giúp bạn thuận tiện tìm thấy những ví dụ mà bạn muốn sử dụng .
Mã VBA cho những tác vụ Excel thông dụng
Các mã VBA này sẽ thực hiện các tác vụ Excel phổ biến một cách nhanh chóng.
Tự động kiểm soát và điều chỉnh chiều rộng cột
Mã này sẽ tự động hóa kiểm soát và điều chỉnh tương thích với chiều rộng cột cho tổng thể những cột của trang tính .
Sub AutofitAllColumns()
Cells.EntireColumn.AutoFit
End Sub
Mã này sẽ tự động hóa kiểm soát và điều chỉnh tương thích với độ rộng của những cột đơn cử trên trang tính. Trong ví dụ này, đó là cột D và F .
Sub AutofitSpecificColumns()
Range("D:D,F:F").EntireColumn.AutoFit
End Sub
Sao chép và dán
Sao chép và dán là một trong những thao tác phổ biến nhất trong Excel. Nó có thể được viết chỉ với một dòng mã VBA.
Ví dụ : Đoạn mã sau sao chép khoanh vùng phạm vi A1 : B6 vào A1 của một trang tính khác .
Sub CopyAndPaste()
Range("A1:B6").Copy Worksheets("Sheet2").Range("A1")
End Sub
Cuối cùng, nếu bạn muốn sử dụng một số ít tùy chọn dán đặc biệt quan trọng có sẵn trong Excel bằng VBA thì hãy tách thao tác sao chép và dán thành hai câu lệnh .Mã này sử dụng phương pháp PasteSpecial ( chỉ dán những giá trị ) .
Sub CopyAndPasteValues()
Range("A1:B6").Copy
Worksheets ( " Sheet2 " ). Range ( " A1 " ). PasteSpecial Paste : = xlPasteValuesEnd Sub
Xóa tổng thể những siêu link trên một trang tính
Đoạn mã macro sau sẽ tự động hóa xóa tổng thể những link trên một trang tính .
Sub ClearHyperlinks()
ActiveSheet.Hyperlinks.Delete
End Sub
Định dạng ô bằng công thức
Định dạng các ô có chứa công thức giúp chúng dễ dàng xác định trên trang tính. Mã macro này sẽ định dạng các ô công thức và tô màu vàng cho chúng (ColorIndex = 6).
Chúng ta khai báo một biến khoanh vùng phạm vi có tên rng và sử dụng nó để lặp qua từng ô có chứa công thức như sau :
Sub FormatFormulas ( )Dim rng As Range
For Each rng In Cells. SpecialCells ( xlCellTypeFormulas )
rng.Interior.ColorIndex = 6
Next rng
End Sub
Chuyển đổi công thức thành giá trị
Một thao tác thông dụng khác với công thức là quy đổi chúng thành giá trị. Mã VBA này sẽ thực thi việc này cho toàn bộ những công thức trên trang tính .
Sub ConvertFormulastoValues ( )Dim rng As Range
For Each rng In Cells. SpecialCells ( xlCellTypeFormulas )
rng. Formula = rng. Value
Next rng
End Sub
Mã VBA cho bảng tính
Các mã này sẽ triển khai một số ít tác vụ trên trang tính nổi bật .
Hiện tổng thể những cột
Đôi khi bạn cần ẩn những cột để giảm sự lộn xộn của trang tính và bảo vệ tài liệu. Mã macro này sẽ hiện tổng thể những cột đã ẩn chỉ với một nút bấm .
Sub UnhideAllColumns()
Columns. EntireColumn. Hidden = FalseEnd Sub
Bảo vệ trang tính
Đoạn mã sau sẽ bảo vệ trang tính đang hoạt động. Nếu bạn biết rõ về bảo vệ trang tính, bạn sẽ biết rằng có nhiều hành động khác nhau mà bạn có thể cho phép hoặc ngăn chặn. Và chúng tôi có thể làm điều này với mã VBA như sau:
Sub ProtectWS()
ActiveSheet. ProtectEnd Sub
Trong trường hợp bạn muốn triển khai điều này để chỉ định mật khẩu hoặc chỉ định những hành vi cố định và thắt chặt được phép thì hãy theo dõi mã VBA dưới đây .Mã macro này chỉ định mật khẩu Excel và chỉ được cho phép chèn những hàng .
Sub ProtectWS ( )
ActiveSheet.Protect Password:=”Excel”, AllowInsertingRows:=True
End Sub
Một nguyên do phổ cập để bảo vệ trang tính là để lưu những công thức của bạn và tránh mất những công thức ” biến mất ” theo bất kể cách nào. Mã này sẽ chỉ bảo vệ những ô trên trang tính có chứa công thức .
Sub ProtectFormulas ( )With ActiveSheet
.Unprotect
.Cells.Locked = False
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
. Protect
End With
End Sub
Lặp lại tổng thể những trang tính của một file Excel
Thật đơn thuần để thiết lập một vòng lặp để triển khai một hành vi so với toàn bộ những trang tính của file thao tác .Trong ví dụ này, mình sẽ triển khai bảo vệ toàn bộ những trang tính. Thay thế dòng ws. Protect bằng những hành vi khác mà bạn mong ước .Lưu ý : Sử dụng biến ws khi tham chiếu trang tính .
Sub LoopAllSheets ( )
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Protect
Next wsEnd Sub
Xem thêm : Hướng dẫn cách gọi Sub trong VBA qua những ví dụ
Kết luận
Gitiho hy vọng bài viết trên đã giúp bạn hiểu thêm về mã VBA cũng như cách viết mã VBA cho các công việc phổ biến trên Excel. Nếu bạn có bất kỳ câu hỏi nào liên quan đến bài viết này hoặc về bất kỳ chủ đề VBA nào khác, hãy cho chúng mình biết trong phần bình luận bên dưới. Và đừng quên theo dõi chúng mình để xem thêm các bài viết bổ ích khác nhé!
Chúc bạn triển khai thành công xuất sắc !
Source: https://final-blade.com
Category: Kiến thức Internet