Một số hàm VBA thường dùng

Dưới đây là câu lệnh VBA của 6 hàm cơ bản và hữu ích nhất thường xuyên được sử dụng do Học Excel Online đã biên soạn sẵn. Bạn chỉ cần sao chép đoạn mã trên và dán  vào mô-đun chạy  VBA của mình.

  • FileExists – Trả về kết quả “TRUE” nếu tồn tại một tệp cụ thể nào đó.
  • FileNameOnly– Trích xuất phần tên gọi tách riêng khỏi chuỗi dữ  liệu đường dẫn/tên gọi của tệp
  • PathExists – Trả về kết quả “TRUE” nếu tồn tại một đường dẫn cụ thể nào đó.
  • RangeNameExists – Trả về kết quả “TRUE” nếu tồn tại một dải tên cụ thể.
  • SheetExists – Trả về kết quả “TRUE” nếu tồn tại một trang tính cụ thể nào đó.
  • WorkBookIsOpen – Trả về kết quả “TRUE” nếu bảng tính đang hoạt động.

Hàm FileExists

Private Function FileExists(fname) As Boolean
'   Returns TRUE if the file exists
    Dim x As String
    x = Dir(fname)
    If x <> "" Then FileExists = True _
        Else FileExists = False
End Function

Hàm FileNameOnly

Private Function FileNameOnly(pname) As String
'   Returns the filename from a path/filename string
    Dim i As Integer, length As Integer, temp As String
    length = Len(pname)
    temp = ""
    For i = length To 1 Step -1
        If Mid(pname, i, 1) = Application.PathSeparator Then
            FileNameOnly = temp
            Exit Function
        End If
        temp = Mid(pname, i, 1) & temp
    Next i
    FileNameOnly = pname
End Function

Hàm PathExists

Private Function PathExists(pname) As Boolean
'   Returns TRUE if the path exists
    Dim x As String
    On Error Resume Next
    x = GetAttr(pname) And 0
    If Err = 0 Then PathExists = True _
      Else PathExists = False
End Function

Hàm RangeNameExists

Private Function RangeNameExists(nname) As Boolean
'   Returns TRUE if the range name exists
    Dim n As Name
    RangeNameExists = False
    For Each n In ActiveWorkbook.Names
        If UCase(n.Name) = UCase(nname) Then
            RangeNameExists = True
            Exit Function
        End If
    Next n
End Function

Hàm SheetExists

Private Function SheetExists(sname) As Boolean
'   Returns TRUE if sheet exists in the active workbook
    Dim x As Object
    On Error Resume Next
    Set x = ActiveWorkbook.Sheets(sname)
    If Err = 0 Then SheetExists = True _
        Else SheetExists = False
End Function

Hàm WorkbookIsOpen

Private Function WorkbookIsOpen(wbname) As Boolean
'   Returns TRUE if the workbook is open
    Dim x As Workbook
    On Error Resume Next
    Set x = Workbooks(wbname)
    If Err = 0 Then WorkbookIsOpen = True _
        Else WorkbookIsOpen = False
End Function
Mong rằng 6 hàm VBA thường dùng này sẽ giúp cihs ít nhiều cho các bạn trong vông việc. Hãy lưu 
viết lại và sử dụng khi cần nha!

Tác giả: dtnguyen (Nguyễn Đức Thanh)

@ Học Excel Online | DTNguyen.business
· · ·

Khóa học mới xuất bản