RaoVat24h
Excel Office

[VBA EXCEL BÀI 5] – CÁC THAO TÁC VỚI WORKSHEETS, SHEETS

Advertisement

[VBA EXCEL BÀI 5] – CÁC THAO TÁC VỚI WORKSHEETS, SHEETS

1. Worksheets, Sheets là gì?

Là các bảng tính của excel, khi bạn mới mở một excel mới thông thường mặc định ta có 3 sheet với tên là (sheet1, sheet2, sheet3) vậy đây là các đối tượng worksheets, sheets.
Một workbook sẽ có rất nhiều bảng tính, tùy tính chất công việc mà bạn có thể tạo ra nhiều bảng tính có các công dụng khác nhau.

2. Làm việc với Sheets trong VBA

2.1 Di chuyển giữa các sheets với nhau:

Để có thể thao tác trên một sheet thì ta phải (select) or (active) nó, dưới đây ta có ba dòng lệnh có chức năng tương đương nhau.
1
2
3
4
Worksheets(“Sheet1”).Select
Worksheets(“Sheet1”).Activate
Sheets(“Sheet1”).Activate
‘trong đó ‘Sheet1’ là tên của sheet ta chỉ định

2.2 Chọn một hoặc nhiều sheets:

Cái này rất quan trọng vì thông thường làm trên excel bạn sẽ làm việc trên nhiều sheet khác nhau, do đó đoạn code này sẽ giúp bạn chuyển đổi qua lại giữa các sheet với nhau.
1
2
3
4
5
6
‘chọn ‘sheet1’
Worksheets(“Sheet1”).Select
  ‘ bạn sẽ thực hiện 1 số thao tác trên sheet1 ở đây ví dụ như copy, edit dữ liệu sau đó bạn chuyển
‘qua ‘sheet2’ để paste dữ liệu
Worksheets(“Sheet2”).Select
‘ Paste dữ liệu mà bạn vừa thao tác trên ‘sheet1’
Đề vô hiệu hóa dòng lệnh:
1
Worksheets(“Sheet2”).Select False

2.3 Các thuộc tính (sheet names, Code Names, Index Numbers)

Ngoài cách truy vấn trực tiếp từ ‘sheet1’, các bạn có thể thực hiện bằng cách gọi tên của sheet do các bạn tùy ý đặt, và từ chỉ số của sheet (được mặc định số thứ tự từ trái sang phải).

1
2
3
4
‘Sử dụng code name
Sheets(“Code Name”).Select
‘Sử dụng index number
Sheets(2).select
Vậy thì bạn đặt ra câu hỏi là vì sao có nhiều cách để gọi một sheet như vậy, đối với kiểu Code Namemục đích khi bạn đặt tên sheet dễ nhớ biết được sheet đó chứa dữ liệu gì, để từ đó viết code dễ hình dung hơn. Còn đối với dùng Index number sử dụng chủ yếu để đặt thay thế bằng biến để có thể thay đổi linh hoạt.

3. Các thao tác trên sheets

3.1 Chèn và xóa

Sử dụng cú pháp sau:
Worksheets.Add (Before, After, Count, Type)
Before : Đối tượng này chỉ khi chèn một sheet mới nằm trước một sheet nào đó đã tồn tại
After: Đối tượng này chỉ khi chèn một sheet mới nằm sau một sheetj nào đó đã tồn tại trước
Ví dụ:
1
2
3
4
‘Thêm một sheet mới nằm trước ‘sheet2’ đã tồn tại
Worksheets.Add before:= Worksheets(“Sheet3”)
‘Thêm một sheet mới nằm sau ‘sheet2’ đã tồn tại
Worksheets.Add after:= Sheets(“Sheet4”)
Worksheets(“sheet”).Delete
Sheet: Tên sheet cần xóa, có thể dùng code name, index numbers
Ví dụ:
1
2
3
4
5
6
‘Xóa sheet có tên ‘menu’
Worksheets(“menu”).Delete
‘Xóa sheet có index numbers là 3
Worksheets(3).Delete
‘Xóa sheet nằm cuối cùng, tức là chỉ số index numbers cao nhất
Sheets(Sheets.Count).Delete ‘ trong do sheets.count đếm số lượng sheet có trong workbook

3.2 Copy và di chuyển

Worksheets(“sheet”).Copy (Before, After)
Ví dụ:
1
2
3
4
‘copy sheet1 và paste ra sau sheet3
Worksheets(“Sheet1”).Copy After:=Worksheets(“Sheet3”)
‘copy sheet1 sang một workbook khác có có tên ‘book’
Worksheets(“Sheet1”).Copy After:=Workbooks(“book”).Sheet(1)
Lưu ý nếu bạn không chọn after or before thì mặc định excel sẽ copy sheet đó ra một workbook mới.
Worksheets(“sheet”).Move (Before, After)
1
2
‘Di chuyển sheet1 xuống sau cùng
worksheet(“sheet1”).Move after:= Sheets(Sheets.Count)

3.3 Đổi tên

Worksheets(“tên cũ”).Name “tên mới”
1
2
‘dổi tên sheet A thành sheet B
Worksheet(“A”).Name “B”

3.4 Ẩn và hiện

worksheets(“sheet”).Visible = (False, true)
Có 2 lựa chọn nếu muốn ẩn sheet đi thì dùng false còn không thì dùng true.

4. Lời kết

Sau khi học xong bài này thì các bạn có cảm thấy là VBA có dễ không, đôi khi những thao tác như copy, đổi tên, di chuyển, bạn phải làm các file báo cáo riêng khi truy xuất từ file chính chỉ cần một 2 dòng lệnh là có thể thực hiện được những thao tác thủ công tốn thời gian.
Để học môn này nhanh đòi hỏi các bạn phải tự đánh code chứ không nên copy thả vào vì làm như vậy sẽ không nhớ được.
Thân ái!

?DienDan.Edu.Vn cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn. https://diendan.edu.vn/

Rate this post

DienDan.Edu.Vn

DienDan.Edu.Vn Cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.
DienDan.Edu.Vn! là một website với tiêu chí chia sẻ thông tin,... Bạn có thể nhận xét, bổ sung hay yêu cầu hướng dẫn liên quan đến bài viết. Vậy nên đề nghị các bạn cũng không quảng cáo trong comment này ngoại trừ trong chính phần tên của bạn.
Cám ơn.

Đăng bình luận

(+84) (901) 369.468