Truyền Tham Chiếu Và Giá Trị Trong VBA - VietTuts

Giới Thiệu Về Excel VBA

Excel VBA là gì? Tạo một Macro trong Excel MsgBox trong Excel VBA

Các Đối Tượng Trong Excel VBA

Hệ thống các đối tượng Đối tượng Application Đối tượng Workbook Đối tượng Worksheet Đối tượng Range

VBA Cơ Bản

Biến và kiểu dữ liệu trong VBA Comment trong VBA Toán tử trong VBA Function trong VBA Sub trong VBA Khối lệnh With-End With Mảng (Array) trong VBA Collection trong VBA Dictionary trong VBA Debug trong VBA Xử lý lỗi trong VBA Truyền tham chiếu và giá trị

Các Mệnh Đề Điều Khiển

Mệnh đề If-Else Vòng lặp For Vòng lặp For-Each Vòng lặp While-Wend Vòng lặp Do-While Vòng lặp Do-Util Mệnh đề Select-Case

VBA String

String trong VBA Hàm InStr trong VBA Hàm InStrRev trong VBA Hàm LCase trong VBA Hàm UCase trong VBA Hàm Left trong VBA Hàm Right trong VBA Hàm Mid trong VBA Hàm LTrim trong VBA Hàm RTrim trong VBA Hàm Trim trong VBA Hàm Len trong VBA Hàm Replace trong VBA Hàm Space trong VBA Hàm StrComp trong VBA Hàm String trong VBA Hàm StrReverse trong VBA

VBA Date

Date & Time trong VBA Hàm Date trong VBA Hàm CDate trong VBA Hàm DateAdd trong VBA Hàm DateDiff trong VBA Hàm PartDate trong VBA Hàm DateSerial trong VBA Hàm FormatDateTime trong VBA Hàm IsDate trong VBA Hàm Day trong VBA Hàm Month trong VBA Hàm Year trong VBA Hàm MonthName trong VBA Hàm WeekDay trong VBA Hàm WeekDayName trong VBA

VBA Time

Hàm Now trong VBA Hàm Hour trong VBA Hàm Minute trong VBA Hàm Second trong VBA Hàm Time trong VBA Hàm Timer trong VBA Hàm TimeSerial trong VBA Hàm TimeValue trong VBA Các Ví Dụ Về Excel VBA Xử lý lỗi trong VBA Mệnh đề if-else trong VBA

Một điều khá quan trọng trong VBA đó là truyền tham chiếu và giá trị vào một Sub hoặc Function.

Từ khóa ByRef được sử dụng để truyền tham chiếu và từ khóa ByVal được sử dụng để truyền giá trị. Trong trường hợp bạn không sử dụng từ khóa nào thì đó là trường hợp truyền giá trị.

Truyền tham chiếu là truyền địa chỉ ô nhớ của biến, do đó khi thay đổi giá trị của biến bên trong thủ tục thì giá trị của biến cũng bị thay đổi bên ngoài thủ tục.

Truyền giá trị là truyền giá trị của biến (không phải là địa chỉ ô nhớ), thủ tục sẽ tự động tạo ra một địa chỉ ô nhớ mới để lưu trữ giá trị này, do đó khi thay đổi giá trị của biến truyền vào thủ tục thì giá trị của biến không bị thay đổi bên ngoài thủ tục.

Nội dung chính

  • Ví dụ truyền tham chiếu và giá trị

Ví dụ truyền tham chiếu và giá trị

Dưới đây là ví dụ truyền tham chiếu và giá trị trong VBA. Sub PassTypeExample() Dim test As Integer test = 50 Call PassByValue(test) ' hien thi 50 MsgBox "test = " & test Call PassByReference(test) ' hien thi 100 MsgBox "test = " & test Call PassByReference(test) ' hien thi 100 MsgBox "test = " & test End Sub Sub PassByValue(ByVal test As Integer) ' value chi bi thay doi ben trong thu tuc test = 100 End Sub Sub PassByReference(ByRef test As Integer) ' value cung bi thay doi ben ngoai thu tuc test = 100 End Sub Sub PassByValue2(test As Integer) ' value chi bi thay doi ben trong thu tuc test = 200 End Sub

Kết quả:

test = 50 test = 100 test = 100 Xử lý lỗi trong VBA Mệnh đề if-else trong VBA

Recent Updates

Phím tắt hay dùng trong ExcelBảo mật tập tin ExcelDịch trang tính trong ExcelIn trang tính trong ExcelHàm VLOOKUP trong ExcelĐối tượng đồ họa trong ExcelSử dụng macro trong ExcelSử dụng Templates trong ExcelSử dụng chủ đề (theme) trong ExcelSử dụng Style trong ExcelXác thực dữ liệu (Data Validation) trong ExcelSử dụng phạm vi (Range) trong ExcelSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học VBA Excel Online
Danh Sách Bài Học

Học Java | Hibernate | Spring Học Excel | Excel VBA Học Servlet | JSP | Struts2 Học C | C++ | C# Học Python Học SQL

Bài Tập Có Lời Giải

Bài tập Java Bài tập C Bài tập C++ Bài tập C# Bài tập Python Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java 25 câu hỏi phỏng vấn servlet 75 câu hỏi phỏng vấn jsp 52 câu hỏi phỏng vấn Hibernate 70 câu hỏi phỏng vấn Spring 57 câu hỏi phỏng vấn SQL

Từ khóa » Byval Và Byref Trong Vba