Phân biệt sự khác nhau giữa biến và hằng

Lập trình VBA bạn cần phân biệt sự khác nhau giữa biến và hằng như thế nào để phần mềm hiệu quả

  1. Biến (Variable)
  2. Hằng là gì (Variable)
  3. Câu hỏi thực tế về Const VBA

1. Biến (Variable)

    Biến là một vùng nhớ được đặt tên để lưu trữ dữ liệu có thể thay đổi trong quá trình thực thi chương trình.   

    1.1. Cú pháp khai báo biến

      Dim tên_biến As kiểu_biến   

    1.2. Ví dụ về biến khai báo biến

       * Khai báo biến kiểu số nguyên

       Dim so As Integer  // khai báo biến kiểu số nguyên
       so=5  // gán giá trị vào biến

      * Ngoài kiểu integer còn kiểu double (số lẻ), string (chữ) , boolean  (đúng / sai)
      * Để dễ hiểu bài, chúng ta chỉ quan tâm 4 kiểu biến trên.

      * Khai báo biến kiểu chữ VBA

       Dim ten As String 
       ten="Tran A" ' giá trị biến ten được gán vào là Tran A

      * Hãy nhận xét 2 dòng code VBA dưới

      so=5  // gán giá trị vào biến
      ten="Tran A"

    Theo bạn 2 dòng code khác nhau như thế nào ?

     Đặt câu hỏi code

    Bài tập 1:
Đoạn code 1:
 


         Dim a As Integer
         a=3
         a=6
         Msgbox a

Đoạn code 2:
 

         Dim a As Integer
         a=3
         Msgbox a
         a=6

Hãy cho biết 2 đoạn code trên kết quả in ra của giá trị a là bao nhiêu, vì sao ?

Đặt câu hỏi code

2. Hằng là gì (Variable)

  Hằng (cons) trong VBA là một giá trị không thay đổi trong suốt quá trình thực thi của chương trình. Nếu bạn vẫn cố tình thay đổi giá trị thì sẽ báo lỗi.

  Const PI As Double = 3.14159

  Cố tính thay đổi là gì
  Nếu hằng PI trên đã có giá trị nhưng chúng ta thay đổi lại là
   PI=5  thì phát sinh lỗi, nhưng biến thì được

  Ví dụ hằng (const)

  Bạn đang viết 1 ứng dụng tính lương bằng VBA
  Lương cơ bản trên 1 ngày là 500.000
  Tiền lương mỗi nhân viên =  [Lương cơ bản trên 1 ngày] * 28 (tổng ngày trong tháng)

   * Biết rằng [Lương cơ bản trên 1 ngày] luôn cố định không thay đổi.

   


         Dim LuongCoBanTrenNgay As Double
          LuongCoBanTrenNgay = 500000
          ' tính lương NV A
         Dim TienLuong_NV_A as Double
         TienLuong_NV_A = LuongCoBanTrenNgay * 28
        ' tính lương NV B
         Dim TienLuong_NV_B as Double
         'Nếu vô tình sự nhầm lần code làm thay đổi biến
         LuongCoBanTrenNgay = 1500000 ' code vẫn chấp nhận sự đổi
         TienLuong_NV_B = LuongCoBanTrenNgay * 28
         ' Như vậy lương của Nhân viên B đã tính nhầm.    

Ví dụ VBA trên là 1 minh chứng thực tế, bởi trong quá trình code 1 hệ thống phần mềm thường rất nhiều dòng code thậm chí lên đến hàng chục dòng code.

 Nên việc sai sót hay gán lại 1 giá trị mới cho 1 biến là điều cho thể xảy ra, nên VBA cung cấp cho 1 từ khóa là HẰNG SỐ (const ) để xử lý việc này.

   


         Const LuongCoBanTrenNgay As Double = 500000
         Dim TienLuong_NV_A as Double
         TienLuong_NV_A = LuongCoBanTrenNgay * 28
         ' Nếu có 1 đoạn code nào thay đổi lạ giá trị của  LuongCoBanTrenNgay thì báo lỗi ngay
      LuongCoBanTrenNgay = 1500000  ' dòng này sẽ phát sinh lỗi: không gán giá trị được cho const

3. Câu hỏi thực tế về Const VBA

  Câu hỏi 1 về Const: Với code VBA trên thì bạn có đặt câu hỏi ? làm thế nào để gán giá trị cho hằng LuongCoBanTrenNgay khi chúng ta nạp vào từ dữ liệu của table hay từ xml / text ?

   Đặt câu hỏi code

  Câu hỏi 2 về Const:  Giữa biến và hằng thì máy tính xử lý bên nào nhanh hơn ?

   Đặt câu hỏi code

Tìm kiếm:

Bài viết liên quan:

Lập trình VBA bạn cần phân biệt sự khác nhau giữa biến và hằng như thế nào để phần mềm hiệu quả