Monday, May 22, 2017

Một số hàm, thủ tục VBA đơn giản

CÁC HÀM, THỦ TỤC VBA ĐƠN GIẢN

1. Một số hàm tự tạo trong VBA
B1. Nhấn <Alt+F11> để mở cửa sồ VBE (Visual Basic Editor)
B2. Vào Insert, chọn Module.
B3. Nhập vào đoạn mã vào: (Các hàm trình bày phía dưới)
B4. Đóng cửa sổ VBA Editor bằng phím tắt <Alt+Q>, và tại ô A1 nhập vào hàm sau: =TabName().
B5. Nhấn <Enter> và xem kết quả.

1. Hàm trả về tên sheet hiện hành
Function TabName()
   TabName = ActiveSheet.Name
End Function
2. Hàm trả về tên workbook hiện hành
Function WkbName()
   WkbName = ActiveWorkbook.Name
End Function
3. Hàm trả về đường dẫn đến workbook hiện hành
Function WkbPath()
   WkbPath = ActiveWorkbook.Path
End Function
4. Hàm trả về tên đầy đủ của workbook
Function WkbFull()
   WkbFull = ActiveWorkbook.FullName
End Function
5. Hàm trả về User hiện tại của Windows hoặc Excel                                        
Để lấy tên User Windows hiện hành
Function User()
   User = Environ("Username")
End Function
Để lấy tên User Excel hiện hành
Function ExcelUser()
   ExcelUser = Application.UserName
End Function
6. Hàm trả về công thức trong một ô (cell) xác định
Function FormT(vdc As Range)
   FormT = " " & vdc.Formula
End Function
7. Hàm kiểm tra xem một ô có chứa công thức hay không
Function FormYes(vdc As Range)
   FormYes = vdc.HasFormula
End Function
8. Hàm kiểm tra xem một ô (cell) trong bảng tính có đang áp dụng tính năng Data Validation hay không
Function Valid(vdc As Range)
   Dim intV As Integer
   On Error GoTo errorM
   intV = vdc.Validation.Type
   Valid = True
   Exit Function
errorM:
   Valid = False
End Function
9. Hàm kiểm tra xem một ô (cell) có chứa chú thích (comment) hay không
Function ComT(vdc As Range)
   On Error GoTo errorM
   If Len(vdc.Comment.Text) > 0 Then ComT = True
   Exit Function
errorM:
   ComT = False
End Function
....Còn tiếp >>>
2. Hiện thị thông báo nhiều trên dòng
   

Code: MsgBox "Dao Dinh Ngoc" & ChrW(10) & vbNewLine & "Dao Dinh Vinh"
- Giải thích: ChrW(10) hoặc vnNewLine: Dùng để xuống hàng
- Để điều chỉnh nội dung theo tab ta dùng:
Code: MsgBox "Ho va ten: " & Ten & vbTab & vbTab & "Tuoi la " & Tuoi
3. Thay đổi Font chữ, cỡ chữ, kiểu chữ, màu sắc...của một vùng
Sub ChangeFont1()
  With Selection
  .Font.Name = "Verdana" 'Chọn font chữ
  .Font.FontStyle = "Bold Italic" 'Kiểu chữ
  .Font.Size = 20 'Cỡ chữ
  .Font.Underline = xlUnderlineStyleSingle 'Gạch chân nét đơn
  .Font.ColorIndex = 5 'Màu chữ
  End With
End Sub
4. Hộp thoại Input dữ liệu
* InputBox (prompt [, title] [, default], [, left], [, top] [helpfile, context] [, type])
Chủ yếu sử dụng nhập dữ liệu vào từ bàn phím và thường được gán bởi 1 biến kiểu xâu kí tự hoặc số. 
Sub Inputdata()
Dim tb As String
    tb = InputBox("Moi ban nhap du lieu:")
End Sub