Bài viết này sẽ hướng dẫn các bạn về biến và cách khai báo biến trong VBA. Hãy cùng chúng mình tìm hiểu để làm quen dần với lập trình VBA Excel các bạn nhé.
Biến là các ký hiệu đại diện cho một đối tượng hoặc một giá trị nhằm mục đích:
Ví dụ: Trong VBA, nếu các bạn muốn tạo ra một worksheet mới rồi làm các công việc liên quan đến sheet đó như thêm dữ liệu mới, định dạng bảng dữ liệu thì phải gán cho cho sheet đó một cái tên để phân biệt với các sheet khác trên file Excel. Mỗi khi chúng ta muốn làm việc với sheet đó thì sẽ sử dụng cái tên đã đặt gọi nó ra. Đây được gọi là phương pháp gán biến cho đối tượng.
Ví dụ: Chúng mình có một bảng danh sách nhân viên như sau:
Nếu bây giờ bấm nút Lưu nhập thì macro sẽ chạy để lưu dữ liệu của nhân viên tên là Hùng vào bảng theo đúng các cột từ G đến J như sau:
Vậy làm thế nào mà VBA biết được cần phải lưu thông tin vào các dòng trống bên dưới bảng theo thứ tự từ cột G đến cột J? Câu trả lời là chúng ta sử dụng biến dòng cuối trong VBA.
Biến giá trị trong VBA thường gắn với giá trị không có sẵn, giá trị mang tính chất linh động và luôn thay đổi trong quá trình làm việc.
Có một nguyên tắc liên quan đến biến mà các bạn cần nhớ là: Bạn muốn dùng biến nào thì bạn phải đặt tên cho biến đó. Sau khi đặt tên cần xác định biến đó sẽ nhận giá trị alf bao nhiêu hay gắn với đối tượng nào để trong quá trình tính toán VBA có thể xác định được giá trị hoặc đối tượng cụ thể cho biến đó.
Trước hết, các bạn cần nắm rõ lý do tại sao chúng ta cần phải khai báo biến trong VBA. Có 3 lý do chính là:
Cách khai báo biến như sau:
Các bạn sẽ khai báo theo cấu trúc là:
Từ khóa + Tên biến + as + Loại biến đối tượng
Từ khóa (Set) + Tên biến = Đối tượng được gán vào biến
Trong đó có một số thành phần cần chú ý là:
Các bạn tham khảo ví dụ dưới đây để hiểu về loại biến này:
Bước 1: Mở cửa sổ VBA và tạo mới một module
Bước 2: Tạo mới một sub như sau:
Sub ViDu_01()
End Sub
Bước 3: Đối với biến đối tượng chúng ta sẽ viết như sau:
Dim ws As Worksheet
Điều này có nghĩa là biến ws là một worksheet nhưng chưa nhận giá trị cụ thể. Nếu các bạn viết thêm là:
Set ws = Sheet 1
ws.Name = “Data”
Thì lúc này biến ws được nhận giá trị là Sheet 1 và tên Sheet sẽ là Data.
Cả đoạn code lúc này sẽ là:
Sub ViDu_01()
Dim ws As Worksheet
Set ws = Sheet 1
ws.Name = “Data”
End Sub
Kết quả khi chúng ta chạy thử sẽ như sau:
Đối với biến đại diện cho một giá trị thì chúng ta sử dụng cấu trúc dưới đây để khai báo:
Giá trị: Là dữ liệu dạng Số (Long, Interger, Double,…) dạng ngày tháng (Date), dạng ký tự (String),…
Khi khai báo biến giá trị: Chỉ cần nếu giá trị sẽ gán vào biến hoặc kết quả của một biểu thức.
Chúng ta sẽ đến với một ví dụ để các bạn có thể hiểu rõ hơn về việc khai báo biến.
Bước 1: Mở cửa sổ VBA và tạo mới một module
Bước 2: Tạo mới một sub như sau:
Sub ViDu_02() 'Bien gia tri
End Sub
Ở đây các bạn có thể thấy chúng mình sử dụng dấy nháy đơn để ghi chú trong VBA như hướng dẫn của bài viết trước. Điều này giúp phân biệt được đoạn code nào dùng cho việc gì để giúp các bạn dễ quản lý dữ liệu hơn.
Bước 3:
Dim GiaTri As Long
GiaTri = 100
sheet1.Range("C1").Value = GiaTri
Đoạn code này là dúng để gán giá trị bằng 100 vào ô C1.
Xem thêm: Module trong VBA là gì? Các thao tác cơ bản để làm việc với module
Như vậy, qua bài viết này các bạn có thể nắm được kiến thức cơ bản về biến và cách khai báo biến trong VBA. Chúc các bạn học tập hiệu quả.