Mỗi ngày một hàm tự tạo VBA (ngộ nghĩnh) (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,723
Giới tính
Nam
Để cho không khí vui vẻ và tập hợp các hàm tự tạo VBA lạ lùng, ngộ nghĩnh, tôi mở topic này để ai đó có hàm thể loại này post lên cho mọi người tham khảo, học hỏi.

Tôi sẽ mở đầu trước nha các thành viên thân yêu!

Mã:
Function f() As WorksheetFunction
    Set f = WorksheetFunction
End Function

Đây là hàm để nhận các hàm từ Worksheet để thực hiện các việc tính toán mà VBA không có hoặc không đầy đủ để chúng ta làm việc.

Cách dùng:

TextBox1.Text = f.Trim(TextBox1.Text)

Mời các bạn tiếp tục!
 
Thêm hàm nữa cũng ngắn gọn và... vui:
Mã:
Function TextToSpeech(ByVal EngText As String)
  Application.Speech.Speak EngText
End Function
Cho code vào trong 1 module, xong ra bảng tính gõ:
=TextToSpeech("I go to school")
xem ta được kết quả gì
Tiếp theo gõ:
=TextToSpeech("Bà ba bán bánh bò bên bờ biển")
Xem được cái gì?
Cái vụ "bà ba bán bánh bò" này vui nhất đây!
Sao cái hàm này báo lỗi: "ActivX component can't create object" Thầy ơi.
 
Upvote 0
Hàm kiểm tra hàng thật, hàng giả.
Cú pháp =Check_EAN(mã số mã vạch - 13 số)

Mã:
Function Check_EAN(Code As Double) As Boolean
    Dim i As Integer, k As Integer, a As Integer, b As Integer, c As Integer
    If Len(CStr(Code)) <> 13 Then Exit Function
    For i = 1 To 13
        k = Mid(Code, i, 1)
        If i Mod 2 = 0 Then
            a = a + k
        Else
            b = b + k
        End If
    Next
    c = a * 3 + b
    If c Mod 10 = 0 Then Check_EAN = True
End Function
 
Upvote 0
Hàm kiểm tra hàng thật, hàng giả.
Cú pháp =Check_EAN(mã số mã vạch - 13 số)

Mã:
Function Check_EAN(Code As Double) As Boolean
    Dim i As Integer, k As Integer, a As Integer, b As Integer, c As Integer
    If Len(CStr(Code)) <> 13 Then Exit Function
    For i = 1 To 13
        k = Mid(Code, i, 1)
        If i Mod 2 = 0 Then
            a = a + k
        Else
            b = b + k
        End If
    Next
    c = a * 3 + b
    If c Mod 10 = 0 Then Check_EAN = True
End Function
Hàm này gọi là kiểm tra tính hợp lệ của mã vạch thì đúng hơn. Mã vạch hợp lệ chưa chắc đã là hàng thật. Mà thực tế thì thường hàng giả có mã vạch giống hàng thật :)
 
Upvote 0
Hàm này có đạt tiêu chí "Ngộ" không :D
PHP:
Function CellProperty(Cll As Range, Property As String) As Variant
Dim i As Long, Obj As Object, Arr As Variant
Set Obj = Cll
Arr = Split(Property, ".")
For i = 0 To UBound(Arr, 1) - 1
    Set Obj = CallByName(Obj, Arr(i), VbGet)
Next
CellProperty = CallByName(Obj, Arr(UBound(Arr, 1)), VbGet)
End Function
Mã:
=CellProperty($A$1,"font.bold")
 

File đính kèm

Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom