Cách Khai Báo Và Sử Dụng Sheets, Range Và Cells Trong Excel Bằng ...
Có thể bạn quan tâm
Khi sử dụng VBA để lấy và gán dữ liệu vào Range hay Cells trong một Sheets của File Excel, điều đầu tiên bạn cần là nắm rõ cách thức khai báo và sử dụng các thành phần trên bằng lệnh VBA.
Vậy để có thể khai báo Sheets, Range và Cells của một File Excel bằng VBA, thì ngay trong bài viết này, mình sẽ chia sẻ với các bạn cách để thực hiện.
Cách sử dụng Sheets, Range và Cells bằng VBA
Để dễ hình dùng hơn về cách khai báo 1 File Excel bằng VBA thì File Excel gọi là Workbook, tiếp đến là Worksheet, và còn lại là Range và Cells.
Khi sử dụng dữ liệu trong bảng tính Excel bằng VBA, bạn sẽ có các ràng buộc về Sheets và Workbook như: Range và Cells thuộc Sheets và Sheets đó thuộc Workbook nào?
Để hiểu rõ hơn các bạn đi tiếp từng phần nhỏ nhé.
1) Workbooks
Thông thường khi làm việc với một Workbook thì bạn không cần khai báo trong VBA, nhưng khi truy vấn dữ liệu từ các File Excel khác thì các bạn có thể khai báo như sau:
'khai báo workbook biến wb Dim wb As Workbook 'gán workbook hiện tại vào biến wb Set wb = ThisWorkbookhoặc khai báo cho một Workbook khác:
Dim wb As Workbook 'ví dụ: đường dẫn D:\Desktop\2018-calendar.xlsx Set wb = Workbooks.Open("đường dẫn")2) Worksheet
Sheets trong VBA sẽ được tự động tạo ra khi bạn tạo Sheets từ File Excel. Sheet có nhiều kiểu khai báo như khai báo theo tên, khai báo theo số thức tự Index trong VBAProject.
- Cách khai báo theo số Index Sheets của Excel:
Số Index của Sheets được gán theo thứ tự tạo Sheets. Khi bạn tạo thêm Sheets thứ 2 thì số Index của Sheets đó là 2 và sẽ không thay đổi khi bạn thay đổi vị trí sắp xếp của Sheets.
'khai báo workbsheet biến ws Dim ws As Worksheet 'gán biến worksheet thứ 1 vào biến ws Set ws = Sheets(1)- Hoặc khai báo theo tên của Sheet
- Cách lấy Sheets đang sử dụng
- Cách chuyển Sheets đang sử dụng
Ví dụ: Khi bạn đang ở Sheet1 thì khi thực hiện câu lệnh dưới đây thì sẽ tự động chuyển sang Sheet2.
Sheet(2).Activatehoặc:
Sheet(2).Select3) Range và Cells
Khi truy xuất Range và Cells các bạn có một số lưu ý sau:
- Truy xuất dạng tên đại diện hàng và cột. Ví dụ: A1, B1, C1 ….
- Truy xuất theo vị trí hàng và cột. Ví dụ: Cells A1 sẽ có vị trí hàng 1 và cột 1, tương tự Cells B1 sẽ có bị trí là hàng 1 và cột 2.
- Cột sẽ có vị trí theo số thứ tự như cột bên trái của bảng tính Excel, còn hàng sẽ qui ước theo thứ tự của chữ cái. Ví dụ: A sẽ có vị trí là 1, B là 2 và C là 3…
Cách khai báo Cells:
Dim rg As Range 'gán Cells Cells có vị trí hàng 1 và cột 1, tức là Cells A1 vào biến rg Set rg = Cells(1,1)hoặc
Dim rg As Range Set rg = Range("A1")Cách khai báo Range:
- Dạng tên đại diện:
- Khai báo dạng vị trí:
Khai váo Range và Cells với một Sheets xác định trước.
Dim rg As Range Dim ws As Worksheet Set ws = Sheets("ten-sheet1") Set rg = ws.Range(Cells(1,1),Cells(10,4))Cách lấy giá trị và gán vào Cells
- Cách lấy giá trị từ một Cells vào biến
🔺Nếu bạn không chỉ đích danh Sheets thì VBA sẽ mặc định trỏ đến ActiveSheet.
- Cách gán giá trị một biến vào một Cells:
💡 Lưu ý: Khi sử dụng Cells thay cho Range khi gán hoặc lấy giá trị thì các bạn sử dụng vị trí. Ví dụ: Sheets(“ten-sheet1”).Cells(2, 1).Value = giatriA2
Cách chọn 1 Cells hoặc 1 Range
'chọn Cells A1 Sheets(1).Range("A1").Select 'chọn Cells A2 và A4 Sheets(1).Range("A2,A4").Select 'chọn Range từ A1 đến D10 Sheets(1).Range("A1:D10").Select💡 Lưu ý: Khi bạn thực hiện câu lệnh Select 1 Cells hay Range thì bạn phải Activate Sheets trước.
4) Một số ví dụ về Sheets, Range và Cells
Trước khi thực hiện các vị dụ dưới đây bạn hãy tạo 1 File Excel với thành phần sau:
- Tạo 3 Sheet có tên lần lượt là: ten-sheet1, ten-sheet2, ten-sheet3.
- Tạo 1 Module trong VBA.
💡 Nếu muốn truy vấn Sheets theo tên thì bạn không nên đặt tên Sheets dài và có dấu.
Ví dụ 1: Đọc tên Workbook và Sheet1
Sub doc_ten_Wb_Ws() Dim tenwb As String Dim tenws As String Dim wb As Workbook Dim ws As Worksheet Set wb = ThisWorkbook Set ws = wb.Sheets(1) tenwb = wb.Name tenws = ws.Name 'hiển thị tên Workbook và Worksheets lên Message Box MsgBox tenwb & " " & tenws 'tiếp tục ví dụ 2 ở đây End SubKhi tạo hàm trong Module xong, bạn có thể nhấn F5 để chạy lệnh hoặc Click vào ▶ Run Macro.
- Nếu bạn đang đặt con trỏ vào hàm thì Run Macro sẽ thực hiện tại hàm đó.
- Khi con trỏ chuột đang trỏ ở vị trí ngoài bảng soạn lệnh thì VBA sẽ hiện 1 bảng chọn hàm, bạn chọn vào hàm muốn thực hiện và Run để chạy lệnh.
Kết quả: Một cửa sổ thông báo hiển thị lên tên Workbook và tên Worksheet.
Ví dụ 2: Gán tên Workbook vào A1 và tên Sheet vào Cell A2 ở mỗi Sheets.
Tiếp theo ví dụ 1, sau khi gán tên Workbook và Worksheet vào biến thì bạn có thể ghi vào A1 và A2 của Sheet1.
Qua Sheet2 và Sheet3, vì tên Worbook không thay đổi nên bạn chỉ cần gán lại Worksheet vào biến và ghi vào Sheets tương ứng.
ws.Range("A1").Value = tenwb ws.Range("A2").Value = tenws Set ws = wb.Sheets(2) tenws = ws.Name ws.Range("A1").Value = tenwb ws.Range("A2").Value = tenws Set ws = wb.Sheets(3) tenws = ws.Name ws.Range("A1").Value = tenwb ws.Range("A2").Value = tenwsKết quả: Ở cả 3 Sheets, tên Workbook sẽ được ghi vào Cells a1, tên Sheets được ghi vào Cell A2.
Ví dụ 3: Đọc giá trị Cell A1 và A2 ở Sheet2 và ghi sang Cells B1 và B2 của Sheet1
Sub doc_giatri_sheet2() Dim giatriA1 As String Dim giatriA2 As String Sheets(2).Activate giatriA1 = Sheets(2).Cells(1, 1).Value giatriA2 = Sheets(2).Cells(2, 1).Value Sheets(1).Activate Sheets(1).Range("B1").Value = giatriA1 Sheets(1).Range("B2").Value = giatriA2 End SubKết quả: Giá trị của Cells A1 và A2 của Sheet2 sẽ được ghi vào Cells B1 và B2 của Sheet1.
👉 Link tải File VBA mẫu: http://123link.pro/AkAjl
OK! Trên đầy là tổng hợp các cách khai báo và sử dụng Sheets, Range và Cells trong Excel bằng VBA. Khi nắm được cách sử dụng các thành của một File Excel bằng VBA thì ứng dụng vào các hàm phức tạp bạn sẽ dễ dàng nắm bắt hơn.
Hy vọng bài viết này đã giúp các bạn giải quyết được vấn đề đang tìm kiếm.
Chúc các bạn một ngày vui vẻ!
Từ khóa » Gán Công Thức Vba
-
Hướng Dẫn 2 Cách Gán Công Thức Từ VBA Vào Excel
-
Hướng Dẫn Cách Gán Công Thức Vào ô Và Tự động Lấy Kết Quả Công ...
-
Cách để Excel VBA Tự động điền Công Thức Và Gán Giá Trị
-
Thiết Lập Công Thức Cho Các ô Excel Bằng VBA - Freetuts
-
Viết Công Thức Trong Vba
-
Xem Nhiều 7/2022 # Hướng Dẫn Cách Gán Công Thức Vào Ô Và ...
-
Top 100 Mã Excel VBA Macros Hữu Dụng - Tân Đức ITS
-
Cách Gán Công Thức Chứa Function Trong Vba | Giải Pháp Excel
-
Hướng Dẫn Các Cách Hàm Gán Giá Trị Trong Excel Mới Nhất 2020
-
3 Mẹo để Viết Công Thức Với Macro VBA Trong Excel - .vn
-
Gán Giá Trị Cho 1 ô Trong Excel - Re:Monster
-
Tạo Hàm Vba Trong Excel / TOP #10 Xem Nhiều Nhất & Mới Nhất 7 ...