Top 11 # Tạo Hàm Vba Trong Excel Xem Nhiều Nhất, Mới Nhất 2/2023 # Top Trend | Trucbachconcert.com

Tìm Hiểu Về Cách Tự Tạo Hàm Excel Trong Vba

Hàm là một tập hợp các đoạn mã thực hiện một tác vụ cụ thể và trả về một kết quả. Hàm chủ yếu được sử dụng để thực hiện các tác vụ được lặp đi lặp lại như là định dạng dữ liệu đầu ra, thực hiện tính toán,…

Giả sử bạn đang phát triển một chương trình tính toán lãi suất cho một khoản vay. Bạn có thể tạo ra một hàm thu nhận số tiền cho vay và thời gian hoàn vốn. Hàm này có thể sử dụng số tiền cho vay và thời gian hoàn vốn để tính giá trị lãi suất và lợi nhuận.

Ưu điểm của việc sử dụng hàm giống như ưu điểm của việc tại sao nên sử dụng chương trình con

Các quy tắc đặt tên hàm giống như quy tắc đặt tên chương trình con.

“Private Function myFunction(…)”

Từ khóa “Function” được sử dụng để khai báo một hàm có tên là “myFunction” và bắt đầu phần thân của hàmTừ khóa “Private” được sử dụng để chỉ định phạm vi của hàm

“ByVal arg1 As Integer, ByVal arg2 As Integer”

Nó khai báo hai tham số của kiểu dữ liệu số nguyên với tên là “arg1” và “arg2”

myFunction = arg1 + arg2

Đánh giá biểu thức arg1 + arg2 và gán kết quả cho tên của hàm

“End Function”

“End Sub” được sử dụng để kết thúc phần thân hàm

Hàm rất giống với chương trình con. Sự khác biệt giữa một chương trình con và một hàm là hàm trả về một giá trị khi nó được gọi. Trong khi một chương trình con không trả về một giá trị khi nó được gọi. Giả sử bạn muốn cộng hai số. Bạn có thể tạo ra một hàm thu nhận hai số đó và trả về tổng của các số.

Tạo giao diện người dùng

Thêm hàm

Viết mã code cho nút lệnh

Kiểm tra code

Bước 1: Giao diện người dùng

Đặt các thuộc tính của CommandButton1 như sau:

Giao diện sẽ xuất hiện như sau:

Bước 2: thiết lập code hàm:

Nhấn tổ hợp phím Alt + F11 để mở cửa sổ code

Thêm đoạn code sau:

“Private Function addNumbers(…)”

Khai báo một hàm riêng “addNumber” thu nhận hai số nguyên

“ByVal firstNumber As Integer, ByVal secondNumber As Integer”

Khai báo hai biến tham số là firstNumber và secondNumber

“addNumbers = firstNumber + secondNumber”

Cộng giá trị hai số firstNumber và secondNumber, sau đó gán tổng cho addNumbers

Bước 3: Viết mã code gọi hàm

Chọn View Code

Thêm đoạn code sau:

Bước 4: Chạy chương trình, bạn sẽ nhận được kết quả như sau:

Hàm là một tập hợp các đoạn mã thực hiện một tác vụ cụ thể, nó sẽ trả về một giá trị sau khi được thực hiện.

Cả chương trình con và hàm đều cung cấp mã có thể tái sử dụng.

Cả chương trình con và hàm đều giúp chia các đoạn mã lớn thành các đoạn mã nhỏ có thể dễ dàng quản lý được.

Với sứ mệnh: ” Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người “, đội ngũ phát triển đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án…

Gitiho tự hào khi được đồng hành cùng:

50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…

Hàm Trim Trong Excel Vba

Hàm TRIM trong Excel được sử dụng để loại bỏ các dấu và khoảng trắng ở giữa các từ / chuỗi. Hàm TRIM trong VBA cũng được sử dụng để loại bỏ các khoảng trắng thừa.

1. Sử dụng hàm TRIM trong Excel VBA

Mặc dù có thể sử dụng hàm TRIM được tích hợp sẵn trong bảng tính Excel để loại bỏ các khoảng trắng. Tuy nhiên trong một số trường hợp chúng ta có thể sử dụng hàm TRIM trong VBA để trả về kết quả tốt hơn.

2. Cú pháp hàm TRIM trong VBA

Cú pháp hàm TRIM trong VBA có dạng:

TRIM(String)

Trong đó String là đối số, có thể là chuỗi văn bản hoặc biến chứa chuỗi văn bản.

3. Ví dụ về hàm TRIM trong VBA

Lưu ý là có khoảng trắng thừa ở phần trước và sau đoạn văn bản.

Sub TrimExample1()

MsgBox Trim(Range(“A1”))

End Sub

Kết quả trả về có dạng:

Lưu ý: Một lưu ý quan trọng khi sử dụng hàm TRIM trong VBA là hàm chỉ xóa các khoảng trắng ở đầu và cuối, không xóa các khoảng trắng thừa ở giữa các từ giống như hàm TRIM được tích hợp trong bảng tính.

Như bạn có thể thấy kết quả trả về trong hộp thông báo, hàm TRIM trong VBA không hề xóa các khoảng trắng thừa ở giữa các từ.

Sub TrimExample1()

MsgBox WorksheetFunction.Trim(Range(“A1”))

End Sub

Trong đoạn mã trên chúng ta sử dụng hàm TRIM của bảng tính thay vì sử dụng hàm TRIM trong VBA.

Lưu ý: Hàm TRIM trong VBA không xóa các ký tự không phải khoảng trắng thừa, chẳng hạn như dấu gạch đầu dòng – , … .

Sub TrimExample1()

Dim Rng As Range

Set Rng = Selection

For Each Cell In Rng

Cell.Value = Trim(Cell)

Next Cell

End Sub

Đoạn mã trên sẽ đi qua tất cả các ô trong phạm vi được chọn và loại bỏ các khoảng trắng thừa ở đầu và cuối các câu trong các ô.

https://thuthuat.taimienphi.vn/ham-trim-trong-excel-vba-45758n.aspx Ngoài ra các bạn sử dụng VBA trong Excel có thể tìm hiểu về cách sửa lỗi VBA trong Excel, bạn viết đề cập chi tiết về các lỗi cũng như sửa lỗi VBA trong Excel, rất quan trọng cho các công việc của bạn.

Cách Sử Dụng Hàm If Trong Vba Excel

Trong VBA Excel, hàm IF được sử dụng khi bạn muốn kiểm tra một kết quả theo một hoặc nhiều điều kiện cho trước. Khi điều điều kiện đúng, lệnh nhánh đúng sẽ được thực thi hoặc nếu sai, lệnh nhánh sai sẽ được thực thị.

Cách sử dụng hàm IF trong VBA Excel

Sẽ có 2 dạng lệnh IF bạn sẽ gặp trong VBA là:

IF đơn: chỉ có một điều kiện

IF nhiều điều kiện: có nhiều hơn 1 điều kiện.

1) Hàm IF đơn

Cú pháp:

Else END IF

Chú thích cú pháp:

END IF: kết thúc lệnh cho một hàm IF. 💡 Mỗi hàm IF sẽ kèm theo một END IF.

Ví dụ: Kiểm tra số nhập từ InputBox lớn hay nhỏ hơn 0.

Sub kiemtra_soduong() Dim so As Integer x = InputBox("Nhao so", "So sanh", 0) MsgBox "So vua nhap la so lon hon hoac bang 0" Else MsgBox "So vua nhap la so nhỏ hơn 0" End If End Sub

2) Hàm IF nhiều điều kiện

Khi dùng hàm IF trong Excel, khi muốn so sánh nhiều điều kiện chúng ta phải sử dụng nhiều câu lệnh IF lồng vào ở điều kiện đúng hoặc sai. Nhưng trong VBA, các bạn có thể sử dụng ELSEIF để tạo thêm một điều kiện so sánh.

💡 Tuy bạn có thể tạo nhiều ELSEIF nhưng không nên tạo quá nhiều vì sẽ ảnh hướng tới hiệu suất. Thay vào đó bạn có thể sử dụng hàm Switch trong VBA.

Cú pháp

… Else End If

Ví dụ: So sánh số nhập từ InputBox với 0

Sub kiemtra_so() Dim so As Integer x = InputBox("Nhao so", "So sanh", 0) If x = 0 Then MsgBox "So vua nhap la so 0" MsgBox "So vua nhap lon hon 0" Else MsgBox "So vua nhap nho hon 0" End If End Sub

3) Cách áp dụng hàm IF VBA vào Excel

Ví dụ 1: Sử dụng điều kiện IF đơn không ELSE

Sử dụng lệnh IF đơn không ELSE khi bạn chỉ muốn kiểm tra điều kiện đúng thì thoát chương trình mà không cần kiểm tra đến điều kiện sai.

Ví dụ: Kiểm tra số nhập vào từ InputBox và hiển thị ra MsgBox nếu số nhập là 5.

Sub kiem_tra_so_5() Dim so As Integer so = InputBox("Nhao so", "kiem_tra_so_5", 0) If so = 5 Then MsgBox "Ban vua nhap so 5" Exit Sub End If MsgBox "Ban vua nhap so khac 5" End Sub

Ví dụ 2: Kiểm tra tháng nhập vào có bao nhiêu ngày

Khi điều kiện tháng đã đúng thì sẽ kiểm tra tiếp các điều kiện:

Nếu tháng đó là tháng 1 hoặc 3, 5, 7, 8, 10, 12 thì tháng có 31 ngày.

Nếu là tháng 2 thì chỉ có 28 ngày ( nếu năm nhuận sẽ 29).

Còn lại thì tháng sẽ có 30 ngày.

👉 Như vậy, ví dụ này sẽ cần 2 hàm IF: 1 hàm sẽ kiểm tra nhập tháng hợp lệ và một hàm sẽ kiểm tra tháng nhập là tháng mấy.

💡 Để rút ngắn đoạn lệnh khi so sánh nhiều giá trị trong một điều kiện, bạn có thể sử dụng các lệnh logic như:

AND: Sử dụng khi bạn muốn ràng buộc nhiều điều kiện với nhau. Chỉ đúng khi tất cả điều kiện đều đúng.

OR: Sử dụng khi bạn chỉ cần 1 điều kiện đúng.

✅ Và sau khi phân tích, bạn sẽ có một hàm kiểm tra số ngày của tháng như sau:

Sub so_ngay_cua_thang() Dim thang As Integer thang = InputBox("Nhap thang", "So ngay cua thang", 0) If thang = 1 Or thang = 3 Or thang = 5 Or thang = 7 Or thang = 8 Or thang = 10 Or thang = 12 Then MsgBox "Thang " & thang & " co 31 ngày" ElseIf thang = 2 Then MsgBox "Thang " & thang & " co 28 ngày" Else MsgBox "Thang " & thang & " co 30 ngày" End If Else MsgBox "Thang khong hop le" End If End Sub

Ví dụ 3: Nhập nhanh ngày tháng bằng VBA

Để thực hiện được ví dụ này sẽ cần phải các bước như:

Tạo hàm Sub Worksheet_Change(ByVal Target As Range) trong VBA Sheet để bắt sự kiện thay đổi. Mỗi khi có sự thay đổi tác động đến Cells thì sự kiện này sẽ thực thi.

Xác định Range bắt sự kiện. Vì Range của Excel rất rộng nên các bạn chỉ nên bắt sự kiện thay đổi tại một hàng hoặc cột.

💡 Lưu ý: Nếu bạn muốn bắt sử kiện Worksheet_Change ở Sheet nào thì bạn phải tạo sự kiện ở Sheet đó.

Nhập số 0 hoặc thoát Cells sẽ ghi thời gian hiện tại.

Nhập số <99 để tính ngày hiện tại + với số nhập.

Sub Worksheet_Change(ByVal Target As Range) Dim xrng As Range Dim chuoi As String On Error GoTo Err Set xrng = Range("A:A") If Not Application.Intersect(xrng, Range(Target.Address)) Is Nothing Then If Range(Target.Address).Value = 0 Then Range(Target.Address) = Now() Exit Sub End If End If Err: 'thoat loi End Sub

OK! Như vậy là bạn đã tìm hiểu qua về cách sử dụng hàm IF trong VBA Excel. Bạn hãy làm chủ hàm IF cả trong Excel lẫn VBA vì nó rất quan trọng. Hàm IF sẽ giúp bạn giải quyết rất nhiều khi giải quyết vấn đề về số liệu bẳng Excel.

Hàm Dir Trong Vba (Phần 1)

1. Sử dụng hàm DIR trong VBA

Hàm DIR trong VBA được sử dụng để lấy tên file hoặc thư mục, sử dụng tên đường dẫn của các file hoặc thư mục này.

Cho ví dụ, giả sử nếu một thư mục lưu trữ một file Excel nào đó, chúng ta có thể sử dụng hàm DIR VBA để lất tên của file Excel đó (hoặc tên loại file bất kỳ).

Ngoài ra trong trường hợp nếu muốn lấy tên tất cả các file Excel trong thư mục (hoặc tất cả các file không phải là file Excel), chúng ta cũng có thể sử dụng hàm DIR.

Nếu sử dụng hàm DIR một lần, hàm sẽ trả về tên file đầu tiên trong thư mục. Để lấy tên file của các file khác, chúng ta có thể sử dụng lại DIR để thực hiện điều này.

DIR trả về tên file đầu tiên khớp với tên đường dẫn. Để lấy tên file bổ sung bất kỳ khớp với tên đường dẫn, chúng ta chỉ cần gọi lại DIR mà không có đối số. Khi không có tên file nào khớp, DIR sẽ trả về chuỗi có độ dài bằng 0 (“”).

2. Cú pháp hàm DIR trong VBA

Cú pháp hàm DIR trong VBA có dạng:

Dir [ (tên đường dẫn [ ,thuộc tính ] ) ]

Trong đó:

– Tên đường dẫn (pathname): là đối số tùy chọn, nó có thể là tên file hoặc tên thư mục. Nếu không tìm thấy tên đường dẫn, hàm DIR trong VBA sẽ trả về chuỗi có độ dài bằng 0 (“”).

– Thuộc tính (attributes): là đối số tùy chọn, chúng ta có thể sử dụng đối số này để chỉ định một số thuộc tính, hàm DIR sẽ trả về tên file dựa trên các thuộc tính đó.

Cho ví dụ, nếu muốn liệt kê danh sách các file ẩn hoặc các file chỉ đọc (cùng với các file không có thuộc tính), bạn chỉ cần chỉ định trong đối số này.

Hằng Giá trị Mô tả

vbNormal 0 (Mặc định) chỉ định file không có thuộc tính.

vbReadOnly 1 Chỉ định các file chỉ đọc cùng các file không có thuộc tính.

vbHidden 2 Chỉ định các file ẩn cùng các file không có thuộc tính.

VbSystem 4 Chỉ định các file hệ thống cùng các file không có thuộc tính. Không có sẵn trên Mac OS X.

vbVolume 8 Chỉ định tên phân vùng, nếu có các thuộc tính khác được chỉ định, vbVolume sẽ bị bỏ qua. Không có sẵn trên Mac OS X.

vbDirectory 16 Chỉ định các thư mục hoặc các thư mục cùng các file không có thuộc tính.

vbAlias 64 Chỉ định tên file là bí danh. Chỉ có sẵn trên Mac OS X.

3. Sử dụng ký tự đại diện cùng hàm DIR trong VBA

Nếu đang sử dụng Windows, bạn cũng có thể sử các ký tự đại diện trong hàm DIR.

Lưu ý: Không thể sử dụng các ký tự này cùng hàm VBA trên Mac OS X.

Việc sử dụng các ký tự đại diện có thể hữu ích trong một số trường hợp:

– Chúng ta muốn lấy tên file của một loại file cụ thể (chẳng hạn như .XLSX hoặc .PPTX).

– Khi có một hậu tố / tiền tố cụ thể trong tên file và bạn muốn lấy tên của các file / thư mục này. Chẳng hạn, nếu muốn lấy tên của tất cả các file có tiền tố 2019 , chúng ta có thể sử dụng các ký tự đại diện để làm được điều này.

Có 3 ký tự đại diện trong Excel, bao gồm:

1. * (dấu hoa thị): Đại diện cho số lượng ký tự bất kỳ. Chẳng hạn 2019* cung cấp cho bạn tên tất cả các file có tiền tố 2019.

2. ? (dấu hỏi): Đại diện cho một ký tự duy nhất. Ví dụ, 2019? cung cấp cho bạn tên tất cả các file bắt đầu bằng 2019 có thêm một ký tự khác trong tên, chẳng hạn như 2019A, 2019B, … .

3. – (dấu ngã): Ký tự đại diện này ít được sử dụng nên chúng tôi sẽ bỏ qua, không đi sâu vào giới thiệu cụ thể.