25/05/2018, 23:29
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. 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 ...
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. 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