Biến, kiểu dữ liệu và hằng số VBA trong Excel

⚡ Tóm tắt thông minh

Biến, kiểu dữ liệu và hằng số trong VBA Excel lưu trữ và gán nhãn cho các giá trị mà chương trình làm việc cùng. Trang này giải thích các quy tắc đặt tên biến, khai báo ngầm và tường minh với Dim, các kiểu dữ liệu số và phi số, và cách khai báo hằng số với Const.

  • 📦 Biến: Một giá trị được đặt tên và lưu trữ trong bộ nhớ, được mã nguồn lưu giữ và sau đó đọc lại.
  • 🔤 Quy tắc đặt tên: Tên phải có độ dài dưới 255 ký tự, không có khoảng trắng, không bắt đầu bằng số và không có dấu chấm.
  • 🇧🇷 Tờ khai: Từ khóa Dim khai báo một biến một cách rõ ràng, ví dụ: Dim Num As Integer.
  • 🔢 Các kiểu số: Byte, Integer, Long, Single, DoubleCác kiểu dữ liệu Currency và Decimal khác nhau về dung lượng lưu trữ và phạm vi.
  • 🔠 Các kiểu dữ liệu không phải số: Các kiểu dữ liệu String, Boolean, Date, Object và Variant chứa văn bản, giá trị true hoặc false, ngày tháng và đối tượng.
  • 🔒 Không thay đổi: Từ khóa `const` khai báo một giá trị không thể thay đổi, ví dụ như `Const DaysInYear = 365`.

Biến, kiểu dữ liệu và hằng số VBA trong Excel

Các biến được sử dụng trong hầu hết các chương trình máy tính và VBA cũng không ngoại lệ. Đó là một cách thực hành tốt để khai báo một biến ở đầu quy trình. Không cần thiết nhưng nó giúp xác định bản chất của nội dung (văn bản, dữ liệu, số, v.v.)

Biến VBA

Biến là các giá trị cụ thể được lưu trữ trong bộ nhớ máy tính hoặc hệ thống lưu trữ. Later, bạn có thể sử dụng giá trị đó trong mã và thực thi. Máy tính sẽ lấy giá trị đó từ hệ thống và hiển thị ở đầu ra. Mỗi loại biến VBA của Excel phải được đặt tên.

Để đặt tên biến trong VBA, bạn cần tuân theo các quy tắc sau.

  • Nó phải ít hơn 255 ký tự
  • Không được phép có khoảng cách
  • Nó không được bắt đầu bằng một số
  • Khoảng thời gian không được phép

Dưới đây là một số ví dụ về tên Hợp lệ và Không hợp lệ cho các biến trong VBA.

Biến VBA Tên hợp lệ Biến VBA Tên không hợp lệ
My_Watch My.Watch
Xe Mới1 1_NewCar (không bắt đầu bằng số)
Mã hiệu công nhân ID nhân viên (Không được phép có khoảng trống)

In VBA, chúng ta cần khai báo các biến trước khi sử dụng bằng cách gán tên và kiểu dữ liệu.

Trong VBA, các biến được khai báo ngầm định hoặc rõ ràng.

  • Ngầm hiểu: Dưới đây là ví dụ về một biến được khai báo ngầm định.
  • nhãn=guru99
  • khối lượng = 4
  • Rõ ràng: Dưới đây là ví dụ về biến được khai báo rõ ràng. Bạn có thể sử dụng từ khóa “Dim” theo cú pháp
  • Sun Số là số nguyên
  • Sun mật khẩu dưới dạng chuỗi

Biến VBA không khác gì các ngôn ngữ lập trình khác. Để khai báo một biến trong VBA bạn sử dụng từ khóa "Lờ mờ."

Cú pháp cho biến VBA,

Để khai báo một biến trong VBA, hãy nhập Dim theo sau là tên:

Sub Exercise ()
        Dim <name>
End Sub

Trước khi thực hiện các biến, chúng ta phải ghi lại một macro trong Excel. Để ghi lại một macro, hãy làm như sau –

Bước 1): Ghi Macro 1

Bước 2) : Dừng Macro 1

Bước 3): Mở trình soạn thảo Macro, nhập mã cho biến trong Macro1

Bước 4): Thực thi mã cho Macro 1

Ví dụ, đối với Biến VBA

Sub Macro1()
	Dim Num As Integer
	Num = 99
	MsgBox " Guru " & Num
End Sub

Khi bạn chạy mã này, bạn sẽ nhận được kết quả sau trong trang tính của mình.

Biến VBA

Các kiểu dữ liệu Excel VBA

Máy tính không thể phân biệt được số (1,2,3..) và chuỗi (a,b,c,..). Để tạo ra sự khác biệt này, chúng tôi sử dụng Kiểu dữ liệu.

Các kiểu dữ liệu VBA có thể được tách thành hai loại

  • Kiểu dữ liệu số
Kiểu Bảo quản Phạm vi giá trị
byte Byte 1 0 để 255
Số nguyên 2 byte -32,768 32,767
dài 4 byte -2,147,483,648 2,147,483,648
Độc thân 4 byte -3.402823E+38 đến -1.401298E-45 cho giá trị âm 1.401298E-45 đến 3.402823E+38 cho giá trị dương.
Double 8 byte -1.79769313486232e+308 đến -4.94065645841247E-324 cho các giá trị âm
4.94065645841247E-324 đến 1.79769313486232e+308 cho các giá trị dương.
Tiền tệ 8 byte -922,337,203,685,477.5808 922,337,203,685,477.5807
Số Thập Phân 12 byte +/- 79,228,162,514,264,337,593,543,950,335 nếu không sử dụng số thập phân +/- 7.9228162514264337593543950335 (28 chữ số thập phân)
  • Các kiểu dữ liệu không phải số
Loại dữ liệu Byte được sử dụng Phạm vi giá trị
Chuỗi (Độ dài cố định) Chiều dài của chuỗi Ký tự 1 đến 65,400
Chuỗi (Độ dài thay đổi) Độ dài + 10 byte 0 đến 2 tỷ ký tự
Boolean 2 byte Đúng hay sai
Ngày 8 byte Ngày 1 tháng 100 năm 31 đến ngày 9999 tháng XNUMX năm XNUMX
Đối tượng 4 byte Bất kỳ đối tượng nhúng nào
Biến thể (số) 16 byte Bất kỳ giá trị nào lớn như Double
Biến thể (văn bản) Độ dài +22 byte Giống như chuỗi có độ dài thay đổi

Trong VBA, nếu kiểu dữ liệu không được chỉ định, nó sẽ tự động khai báo biến là Variant.

Hãy xem một ví dụ về cách khai báo biến trong VBA. Trong ví dụ này, chúng tôi sẽ khai báo ba loại chuỗi biến, ngày tham gia và đơn vị tiền tệ.

Bước 1) Giống như trong hướng dẫn trước, chúng ta sẽ chèn commandButton1 vào bảng tính Excel.

Các kiểu dữ liệu Excel VBA

Bước 2) Ở bước tiếp theo, nhấp chuột phải vào nút và chọn Xem mã. Nó sẽ mở cửa sổ mã như hình dưới đây.

Các kiểu dữ liệu Excel VBA

Bước 3) Trong bước này,

  • Lưu tập tin của bạn bằng cách nhấp vào nút lưu Các kiểu dữ liệu Excel VBA
  • Sau đó click vào biểu tượng Excel Các kiểu dữ liệu Excel VBA trong cùng một cửa sổ để trả về bảng Excel.
  • Bạn có thể thấy chế độ thiết kế đang “bật” được đánh dấu màu xanh lục

Các kiểu dữ liệu Excel VBA

Bước 4) Tắt chế độ thiết kế trước khi nhấn nút lệnh

Các kiểu dữ liệu Excel VBA

Bước 5) Sau khi tắt chế độ thiết kế, bạn sẽ nhấp vào commandButton1. Nó sẽ hiển thị biến sau đây làm đầu ra cho phạm vi chúng ta đã khai báo trong mã.

  • Họ tên
  • Ngày tham gia
  • Thu nhập bằng tiền tệ

Các kiểu dữ liệu Excel VBA

Hằng số trong VBA

Hằng giống như một biến nhưng bạn không thể sửa đổi nó. Để khai báo hằng VBA, bạn có thể sử dụng từ khóa const.

Có hai loại hằng số,

  • Tích hợp hoặc nội tại được cung cấp bởi ứng dụng.
  • Tượng trưng hoặc do người dùng xác định

Bạn có thể chỉ định phạm vi là riêng theo mặc định hoặc công khai. Ví dụ,

Ngày công khai trong năm=365

Ngày làm việc của Const riêng = 250

Tải xuống Excel chứa mã ở trên

Tải xuống tệp Excel ở trên Code

Phạm vi biến và Tùy chọn tường minh

Nơi một biến được khai báo quyết định nơi nó có thể được sử dụng, và một thiết lập nhỏ ở đầu một mô-đun có thể ngăn chặn hầu hết các trường hợp như vậy.ping những sai lầm. Hiểu rõ cả hai khía cạnh này giúp chương trình đang phát triển trở nên đáng tin cậy.

Từ khóa Phạm vi Lifetime
Giảm độ sáng (bên trong một Sub) Chỉ có thủ tục được nêu rõ trong Đặt lại mỗi khi quy trình được thực thi.
tĩnh Chỉ có quy trình được thực hiện, nhưng giá trị vẫn được giữ nguyên. Nhớ lại giữa các cuộc gọi
Riêng tư (ở đầu mô-đun) Mọi quy trình trong mô-đun đó Sống khi sổ tay đang mở
Công khai (ở đầu mô-đun) Mỗi mô-đun trong dự án Sống khi sổ tay đang mở

💡 Mẹo: Kiểu Tùy chọn rõ ràng Nó được đặt ở dòng đầu tiên của mỗi module. Điều này buộc mọi biến phải được khai báo bằng `Dim`, do đó lỗi chính tả tên biến sẽ được phát hiện trong quá trình biên dịch thay vì âm thầm tạo ra một biến `Variant` rỗng mới.

Câu Hỏi Thường Gặp

Biến (variable) lưu trữ một giá trị mà mã có thể thay đổi trong quá trình thực thi. Hằng (constant) lưu trữ một giá trị cố định bằng từ khóa `const` và không thể thay đổi. Hãy sử dụng hằng cho một giá trị không bao giờ thay đổi, ví dụ như thuế suất.

Kiểu dữ liệu Integer chỉ chứa các giá trị từ -32,768 đến 32,767, vì vậy số lượng hàng hoặc một số lớn sẽ làm tràn bộ nhớ. Kiểu dữ liệu Long chứa các giá trị lớn hơn nhiều, và Microsoft Hiện nay, VBA hiện đại khuyến nghị sử dụng kiểu dữ liệu Long cho các số nguyên.

Variant là kiểu dữ liệu mặc định khi không có kiểu nào được chỉ định. Nó có thể chứa số, văn bản, ngày tháng hoặc đối tượng, điều này linh hoạt nhưng tốn nhiều bộ nhớ hơn và chạy chậm hơn. Hãy khai báo một kiểu dữ liệu cụ thể nếu có thể.

Đúng vậy. Trợ lý lập trình AI sẽ đọc cách một biến được sử dụng và đề xuất một kiểu dữ liệu phù hợp, chẳng hạn như Long cho bộ đếm hoặc String cho văn bản. Nhà phát triển xác nhận lựa chọn và thêm Option Explicit.

Đúng vậy. Trợ lý AI sẽ phát hiện biến bị viết sai chính tả hoặc chưa được khai báo, giải thích lý do tại sao Option Explicit báo cáo lỗi đó và đề xuất cách khai báo chính xác. Nhà phát triển sẽ áp dụng bản sửa lỗi và biên dịch lại mô-đun.

Tóm tắt bài viết này với: