Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
No Result
View All Result
Home Chia Sẻ Kiến Thức Học Excel

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt
6k
SHARES
19.5k
VIEWS
Share on FacebookShare on Twitter

Nội Dung Bài Viết

Toggle
  • Mở Đầu
  • Hướng Dẫn Nhanh Về Worksheet VBA
  • Giới Thiệu
  • Truy Cập Worksheet
  • Ẩn Worksheet
  • Bảo Vệ Worksheet
  • Lỗi “Subscript Out Of Range”
  • Sử Dụng Chỉ Số (Index)
  • Sử Dụng Tên Mã Worksheet
  • Tên Mã Trong Workbook Khác
  • Sử Dụng ActiveSheet
  • Khai Báo Đối Tượng Worksheet
  • Thêm Worksheet
  • Xóa Worksheet
  • Lặp Qua Các Worksheet
  • Bộ Sưu Tập Sheets
  • Kết Luận

Excel VBA (Visual Basic for Applications) là công cụ mạnh mẽ giúp tự động hóa các tác vụ và mở rộng khả năng của Excel. Trong bài viết này, Thủ Thuật sẽ hướng dẫn bạn cách sử dụng VBA cho worksheet trong Excel, giúp bạn thao tác dữ liệu và tùy chỉnh bảng tính hiệu quả hơn.

Mở Đầu

Workbook, Worksheet, và Cell là ba thành phần cốt lõi trong VBA. Hầu hết các đoạn mã VBA đều tương tác với một hoặc cả ba yếu tố này. Việc nắm vững cách sử dụng Worksheet trong VBA là rất quan trọng, cho phép bạn thực hiện các thao tác từ đơn giản như truy cập ô, đến phức tạp như ẩn, thêm, di chuyển, hoặc sao chép worksheet. Bài viết này sẽ trang bị cho bạn kiến thức cần thiết để làm chủ Worksheet VBA.

Hướng Dẫn Nhanh Về Worksheet VBA

Bảng dưới đây tóm tắt các tác vụ thường gặp khi làm việc với Worksheet VBA. Lưu ý: Worksheet trong bảng này không chỉ định workbook cụ thể, nghĩa là Worksheet chứ không phải ThisWorkbook.Worksheets, wk.Worksheets,… Điều này giúp ví dụ dễ hiểu hơn. Trong thực tế, bạn cần chỉ định workbook nếu không muốn sử dụng workbook mặc định.

Tác VụCách Thực Hiện
Truy cập theo tênWorksheets("Sheet1")
Truy cập theo vị tríWorksheets(2), Worksheets(4)
Worksheet đầu tiênWorksheets(1)
Worksheet cuối cùngWorksheets(Worksheets.Count)
Sử dụng tên mãXem phần “Sử dụng Tên Mã Worksheet”
Worksheet hiện tạiActiveSheet
Khai báo biếnDim sh As Worksheet
Gán biếnSet sh = Worksheets("Sheet1")
Thêm worksheetWorksheets.Add
Thêm và gán biếnSet sh = Worksheets.Add
Thêm vào đầuWorksheets.Add Before:=Worksheets(1)
Thêm vào cuốiWorksheets.Add After:=Worksheets(Worksheets.Count)
Thêm nhiều WorksheetWorksheets.Add Count:=3
Kích hoạt Worksheetsh.Activate
Sao chépsh.Copy
Sao chép saush1.Copy After:=sh2
Sao chép trướcsh1.Copy Before:=sh2
Xóash.Delete
Xóa không cảnh báoApplication.DisplayAlerts = False: sh.Delete: Application.DisplayAlerts = True
Đổi tênsh.Name = "Data"
Ẩn/Hiệnsh.Visible = xlSheetHidden, sh.Visible = xlSheetVisible
Lặp qua (For)For i = 1 To Worksheets.Count: Debug.Print Worksheets(i).Name: Next i
Lặp qua (For Each)For Each sh In Worksheets: Debug.Print sh.Name: Next

Giới Thiệu

Ba yếu tố quan trọng nhất của VBA là Workbook, Worksheet, và Cell. Trong tất cả các mã chúng ta viết, 90% sẽ liên quan đến 1 hoặc cả 3 yếu tố trên.

Sử dụng worksheet để truy cập vào các ô của nó rất phổ biến trong VBA. Chúng ta có thể sử dụng VBA để ẩn, thêm, di chuyển hoặc sao chép worksheet. Tuy nhiên, chúng ta sẽ sử dụng chủ yếu để thực hiện các hành động trên một hoặc nhiều ô.

Xem thêm:  Định dạng Tiền tệ trong Excel: Thủ thuật Trình bày Số liệu Chuyên Nghiệp

Sử dụng worksheet đơn giản hơn workbook. Với workbook, bạn phải mở chúng, tìm thư mục chứa chúng và kiểm tra xem chúng có đang được sử dụng hay không. Với worksheet, việc kiểm tra chỉ đơn giản là xem nó có hiển thị trong workbook hay không.

Truy Cập Worksheet

Trong VBA, mỗi workbook chứa một tập hợp các worksheet. Mỗi worksheet nằm trong bộ sưu tập Worksheets. Bạn phải chỉ định tên worksheet để truy cập nó.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Ví dụ, đoạn mã sau viết “Hello World” vào ô A1 của Sheet1, Sheet2, và Sheet3 trong workbook hiện tại:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Bộ sưu tập Worksheets luôn nằm trong một workbook. Nếu không chỉ định workbook, VBA sẽ sử dụng workbook mặc định.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Ẩn Worksheet

Ví dụ sau minh họa cách ẩn và hiện một worksheet:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Nếu muốn ngăn người dùng truy cập worksheet, bạn có thể ẩn nó. Worksheet ẩn chỉ có thể được hiển thị bằng mã VBA.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Bảo Vệ Worksheet

Ví dụ sau đây minh họa cách bảo vệ worksheet:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Lỗi “Subscript Out Of Range”

Khi làm việc với worksheet trong VBA, bạn có thể gặp lỗi “Subscript Out Of Range”. Lỗi này xảy ra khi bạn cố gắng truy cập một worksheet không tồn tại. Nguyên nhân có thể là:

  1. Tên worksheet viết sai chính tả.
  2. Tên worksheet đã bị thay đổi.
  3. Worksheet đã bị xóa.
  4. Chỉ số vượt quá số lượng worksheet hiện có (ví dụ: Worksheets(5) khi chỉ có 4 worksheet).
  5. Workbook sai (ví dụ: Workbooks("book1.xlsx").Worksheets("Sheet1") thay vì Workbooks("book3.xlsx").Worksheets("Sheet1")).

Nếu gặp lỗi này, hãy sử dụng vòng lặp để hiển thị tên của tất cả các worksheet trong bộ sưu tập.

Sử Dụng Chỉ Số (Index)

Bạn có thể truy cập worksheet bằng chỉ số, tức là vị trí của tab worksheet trong workbook. Ví dụ:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Trong ví dụ trên, Debug.Print được sử dụng để xuất kết quả ra cửa sổ Immediate (View > Immediate Window hoặc Ctrl + G).

Sử Dụng Tên Mã Worksheet

Cách tốt nhất để truy cập worksheet là sử dụng tên mã (code name). Tên mã không thay đổi khi bạn đổi tên worksheet, giúp mã VBA của bạn hoạt động ổn định.

Trong hình dưới, tên mã nằm ngoài ngoặc, còn tên worksheet nằm trong ngoặc.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Bạn có thể thay đổi cả tên worksheet và tên mã trong cửa sổ Properties (xem hình dưới).

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Nếu mã của bạn sử dụng tên mã, việc người dùng thay đổi tên worksheet sẽ không ảnh hưởng đến hoạt động của mã. Ví dụ:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Tên Mã Trong Workbook Khác

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Nhược điểm của việc sử dụng tên mã là nó chỉ áp dụng cho worksheet trong cùng workbook chứa mã VBA (ví dụ: ThisWorkbook). Tuy nhiên, bạn có thể sử dụng hàm để tìm tên mã của worksheet trong workbook khác.

Xem thêm:  Tính Khoảng Thời Gian Giữa Hai Thời Điểm trong Excel với Hàm DATEDIF

Ví dụ trên cho thấy ngay cả khi người dùng thay đổi tên mã của worksheet, mã VBA vẫn hoạt động bình thường. Bạn cũng có thể sử dụng VBAProject của workbook để làm điều tương tự. Ví dụ:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Tóm tắt về tên mã:

  1. Sử dụng trực tiếp trong mã: Sheet1.Range.
  2. Hoạt động ngay cả khi tên worksheet thay đổi.
  3. Chỉ áp dụng cho worksheet trong cùng workbook với mã.
  4. Có thể thay thế ThisWorkbook.Worksheets("sheetname") bằng tên mã.
  5. Sử dụng hàm SheetFromCodeName để lấy tên mã từ workbook khác.

Sử Dụng ActiveSheet

ActiveSheet đại diện cho worksheet đang hoạt động. Chỉ sử dụng ActiveSheet khi bạn chắc chắn muốn thao tác với worksheet hiện tại. Nếu không, hãy chỉ định worksheet cụ thể.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Nếu sử dụng Range mà không chỉ định worksheet, ActiveSheet sẽ được mặc định.

Khai Báo Đối Tượng Worksheet

Khai báo đối tượng worksheet giúp mã gọn gàng và dễ đọc hơn.

Ví dụ dưới đây so sánh việc cập nhật vùng dữ liệu với và không khai báo đối tượng worksheet. Sub đầu tiên không khai báo, trong khi các sub còn lại khai báo đối tượng worksheet, giúp mã rõ ràng hơn.

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Bạn cũng có thể sử dụng With với đối tượng worksheet:

Làm Chủ Excel Worksheet VBA: Hướng Dẫn Chi Tiết Cho Người Việt

Thêm Worksheet

Bạn có thể thêm worksheet mới vào workbook bằng hàm Add. Nếu không chỉ định đối số, worksheet mới sẽ được thêm trước ActiveSheet.

Worksheet mới sẽ có tên mặc định như “Sheet4”. Bạn có thể đổi tên bằng thuộc tính Name.

Ví dụ sau thêm worksheet mới và đặt tên là “Accounts”:

Public Sub AddSheet()
    Dim sht As Worksheet
    Set sht = ThisWorkbook.Worksheets.Add
    sht.Name = "Accounts"
    ThisWorkbook.Worksheets.Add Count:=3
End Sub

Bạn cũng có thể chỉ định vị trí của worksheet mới bằng cách sử dụng Before hoặc After:

Public Sub AddSheetFirstLast()
    Dim shtNew As Worksheet
    Dim shtFirst As Worksheet, shtLast As Worksheet
    With ThisWorkbook
        Set shtFirst = .Worksheets(1)
        Set shtLast = .Worksheets(.Worksheets.Count)
        Set shtNew = Worksheets.Add(Before:=shtFirst)
        shtNew.Name = "FirstSheet"
        Set shtNew = Worksheets.Add(After:=shtLast)
        shtNew.Name = "LastSheet"
    End With
End Sub

Xóa Worksheet

Để xóa worksheet, sử dụng Delete:

Dim sh As Worksheet
Set sh = ThisWorkbook.Worksheets("Sheet12")
sh.Delete

Để ẩn thông báo cảnh báo khi xóa, sử dụng:

Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True

Lặp Qua Các Worksheet

Bạn có thể lặp qua các worksheet trong bộ sưu tập Worksheets bằng For Each hoặc For:

For Each:

Public Sub LoopForEach()
    Dim sht As Worksheet
    For Each sht In ThisWorkbook.Worksheets
         sht.Range("A1") = "Hello World"
    Next sht
End Sub

For:

Public Sub LoopFor()
    Dim i As Long
    For i = 1 To ThisWorkbook.Worksheets.Count
         ThisWorkbook.Worksheets(i).Range("A1") = "Hello World"
    Next i
End Sub

Bộ Sưu Tập Sheets

Ngoài Worksheets, còn có bộ sưu tập Sheets. Sheets bao gồm cả worksheet và chart sheet (sheet biểu đồ).

Worksheets: Chỉ chứa các worksheet.

Sheets: Chứa cả worksheet và chart sheet.

Kết Luận

Bài viết đã cung cấp hướng dẫn chi tiết về cách sử dụng Excel Worksheet VBA. Hy vọng những kiến thức này sẽ giúp bạn tối ưu hóa công việc với Excel và nâng cao hiệu suất làm việc. Hãy khám phá thêm các bài viết khác của Thủ Thuật để tìm hiểu thêm về các kỹ thuật VBA hữu ích.

Đánh Giá Bài Viết
Tuyết Nhi

Tuyết Nhi

Tôi là Tuyết Nhi - Nữ phóng viên trẻ đến từ Hà Nội. Với niềm đam mê công nghệ, khoa học kỹ thuật, tôi yêu thích và muốn chia sẻ đến mọi người những trải nghiệm, kinh nghiệm về các lĩnh vực công nghệ, kỹ thuật... Rất mong được quý độc giả đón nhận ❤️.

Related Posts

Phân biệt hàm VLOOKUP trong VBA Excel
Học Excel

Phân biệt hàm VLOOKUP trong VBA Excel

Đếm Theo Nhiều Điều Kiện trong Excel với Hàm SUMPRODUCT
Học Excel

Đếm Theo Nhiều Điều Kiện trong Excel với Hàm SUMPRODUCT

Chèn Ký Tự vào Chuỗi Ký Tự trong Excel: Hướng Dẫn Chi Tiết
Học Excel

Chèn Ký Tự vào Chuỗi Ký Tự trong Excel: Hướng Dẫn Chi Tiết

Hướng Dẫn Kết Hợp Hàm VLOOKUP với SUM/SUMIF trong Excel
Học Excel

Hướng Dẫn Kết Hợp Hàm VLOOKUP với SUM/SUMIF trong Excel

Discussion about this post

Trending.

Tạo Dữ Liệu Ngẫu Nhiên trong Excel với Hàm RANDBETWEEN và VLOOKUP

Tạo Dữ Liệu Ngẫu Nhiên trong Excel với Hàm RANDBETWEEN và VLOOKUP

Cách Xóa Dấu Nháy Đơn (‘) Trong Excel

Cách Xóa Dấu Nháy Đơn (‘) Trong Excel

Hàm LOOKUP trong Excel: Cú pháp và Cách Sử Dụng

Hàm LOOKUP trong Excel: Cú pháp và Cách Sử Dụng

Cách Thêm Tổng Số Trên Biểu Đồ Cột Chồng Trong Excel

Cách Thêm Tổng Số Trên Biểu Đồ Cột Chồng Trong Excel

Hướng Dẫn Sử Dụng Hàm SUMIFS trong Excel cho Kế Toán Tiền Lương và Nhân Sự

Hướng Dẫn Sử Dụng Hàm SUMIFS trong Excel cho Kế Toán Tiền Lương và Nhân Sự

Giới Thiệu

Thủ Thuật

➤ Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn!

Chuyên Mục

➤ TOP Thủ Thuật

➤ Chia Sẻ Kiến Thức

➤ Kênh Công Nghệ

➤ SEO

➤ Games

Liên Kết

➤

➤

➤

➤

➤

Liên Hệ

➤ TP. Hải Phòng, Việt Nam

➤ 0931. 910. JQK

➤ Email: [email protected]

Website này cũng cần quảng cáo, không có tiền thì viết bài làm sao  ” Đen Vâu – MTP ”

DMCA.com Protection Status

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam

No Result
View All Result
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam