Khái niệm biến và cách khai báo biến trong lập trình VBA

Nội dung được viết bởi Linh Mai

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 trong lập trình VBA

Khái niệm biến trong VBA

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:

  • Đại diện cho 1 đối tượng: Viết rút gọn, dễ nhớ, để phân biệt các đối tượng với nhau

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.

  • Đại diện cho 1 giá trị: Các giá trị không có sẵn, phải tạo ra thông qua các biên (khai báo => gán giá trị)

Ví dụ: Chúng mình có một bảng danh sách nhân viên như sau:

Khái niệm biến và cách khai báo biến trong lập trình VBA

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:

Khái niệm biến và cách khai báo biến trong lập trình VBA

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 đó. 

Kỹ thuật khai báo biến trong VBA

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à:

  • Khai báo biến nhằm mục đích xác định loại đối tượng mà biến đại diện, đồng thời xác định loại giá trị mà biến đó đại diện.
  • Khai báo biến giúp giảm dung lượng file, giúp VBA hoạt động nhanh và ít lỗi hơn.
  • Việc khai báo biến cũng giúp tư duy lập trình được rõ ràng, có hệ thống hơn, kiểm tra được lỗi nếu có phát sinh.

Cách khai báo biến như sau:

Biến đại diện cho một đối tượng (object)

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

Khái niệm biến và cách khai báo biến trong lập trình VBA

Trong đó có một số thành phần cần chú ý là:

  • Dim: Từ khóa bắt buộc phải có khi khai báo biến trong VBA
  • Tên biến: Là tên do bạn tự đặt để ghi nhớ nhưng phải dùng chữ viết liền không dấu
  • Set: Từ khóa bắt buộc phải có khi khai báo biến đối tượng dùng để xác định một biến nào đó bằng với đối tượng nào.

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:

Khái niệm biến và cách khai báo biến trong lập trình VBA

Biến đại diện cho một giá trị

Đố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:

Khái niệm biến và cách khai báo biến trong lập trình VBA

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.

Khái niệm biến và cách khai báo biến trong lập trình VBA

Xem thêm: Module trong VBA là gì? Các thao tác cơ bản để làm việc với module

Kết luận

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ả.

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

5/5 - (1 bình chọn)

5/5 - (1 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông