Xin chào bạn đến với khóa học lập trình vba dễ nhất.
- Nó hoàn toàn FREE và hiệu quả mạng lại thực tế vào công việc.
- Dành cho mọi lứa tuổi, đặc biệt là dân văn phòng.
- Cho mọi cấp độ, kể cả từ cấp độ 0 (bạn chưa biết gì về VBA Excel)
Ưu tiên sinh viên không có điều kiện, mời bạn tham khảo tại liên kết các video học miễn phí VBA Excel từ trại huấn luyện coder.
Sưu tập các bài tập vba excel
    VBA: Visual Basic for Applications.
    Dùng để tự động hóa các thao tác trong Excel.
    Truy cập trình soạn thảo: Alt + F11.
Sub TenMacro()
    ' Nội dung lệnh vba
End Sub
Function Tong(a,b)
   Tong=a+b
End Function
Ví dụ tạo dữ liệu thực tế VBA Excel
Sub TaoDanhSachNhanVien()
    Dim i As Integer
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' Tieu de cot
    ws.Range("A1").Value = "Ma NV"
    ws.Range("B1").Value = "Ho va ten"
    ws.Range("C1").Value = "Gioi tinh"
    ws.Range("D1").Value = "Ngay sinh"
    ws.Range("E1").Value = "Chuc vu"
    ws.Range("F1").Value = "Phong ban"
    ws.Range("G1").Value = "Luong"
    
    ' Xoa du lieu cu
    ws.Range("A2:G101").ClearContents
    tongNhanVien = 1000
    ' Tao du lieu
    For i = 2 To tongNhanVien
        Dim maNV As String, ten As String, gioitinh As String
        Dim ngaysinh As Date, chucvu As String, phongban As String
        Dim luong As Currency
        
        maNV = "NV" & Format(i - 1, "000")
        ten = "Nguyen Van " & Chr(64 + ((i - 1) Mod 26) + 1)
        gioitinh = IIf(i Mod 2 = 0, "Nam", "Nu")
        ngaysinh = DateSerial(1990 + (i Mod 10), (i Mod 12) + 1, (i Mod 28) + 1)
        
        Select Case (i Mod 5)
            Case 0: chucvu = "Nhan vien"
            Case 1: chucvu = "Truong nhom"
            Case 2: chucvu = "Quan ly"
            Case 3: chucvu = "Giam sat"
            Case 4: chucvu = "Thuc tap"
        End Select
        
        Select Case (i Mod 4)
            Case 0: phongban = "Ke toan"
            Case 1: phongban = "Ky thuat"
            Case 2: phongban = "Kinh doanh"
            Case 3: phongban = "Hanh chinh"
        End Select
        
        luong = TinhLuong(phongban, chucvu)
        
        ' Ghi vao sheet
        ws.Cells(i, 1).Value = maNV
        ws.Cells(i, 2).Value = ten
        ws.Cells(i, 3).Value = gioitinh
        ws.Cells(i, 4).Value = ngaysinh
        ws.Cells(i, 5).Value = chucvu
        ws.Cells(i, 6).Value = phongban
        ws.Cells(i, 7).Value = luong
    Next i
    
    MsgBox "Da tao " & tongNhanVien & " dong du lieu nhan vien va tinh luong!", vbInformation
End Sub
Function TinhLuong(phongban As String, chucvu As String) As Currency
    Dim heSo As Double
    Dim luongCoBan As Currency
    
    ' He so theo phong ban
    Select Case phongban
        Case "Ke toan": heSo = 1
        Case "Ky thuat": heSo = 1.2
        Case "Kinh doanh": heSo = 1.1
        Case "Hanh chinh": heSo = 0.9
        Case Else: heSo = 1
    End Select
    
    ' Luong co ban theo chuc vu
    Select Case chucvu
        Case "Nhan vien": luongCoBan = 5000000
        Case "Truong nhom": luongCoBan = 7000000
        Case "Quan ly": luongCoBan = 10000000
        Case "Giam sat": luongCoBan = 8000000
        Case "Thuc tap": luongCoBan = 2000000
        Case Else: luongCoBan = 5000000
    End Select
    
    TinhLuong = luongCoBan * heSo
End Function
Dim a As Integer
Dim b As String
Dim c As Double
Dim d As Boolean * Biến: dùng để lưu trữ dữ liệu, giúp ta tìm kiếm thông tin nhanh, chính xác khi xử lý dữ liệu.
* Kiểu dữ liệu của biến: 
    Ví dụ thực tế, để lấy vợ nhanh, chúng ta phải xác định giới tính ta là Nam/Nữ
         - Phải xác định được mình đang phân khúc nào, U30 hay U40, U50 ... thì mới lấy vợ nhanh được.
    Tóm lại: nếu biết các xác định kiểu dữ liệu thì phần mềm excel chạy tốc độ nhanh, nếu không thì file excel dữ liệu nhiều thì chạy RẤT CHẬM.
Một số kiểu dữ liệu trong VBA Excel bạn cần ghi nhớ:
    Integer: Số nguyên.
    Double: Số thực.
    String: Chuỗi.
    Boolean: Đúng/Sai.
If a > 10 Then
    MsgBox "Lớn hơn 10"
ElseIf a = 10 Then
    MsgBox "Bằng 10"
Else
    MsgBox "Nhỏ hơn 10"
End IfFor…Next
For i = 1 To 10
    Debug.Print i
Next iDo While
Do While a < 10
    a = a + 1
LoopFor Each
For Each cell In Range("A1:A5")
    cell.Value = "Hello"
NextRange("A1").Value = "Xin chào"
Cells(1, 2).Value = 100
Sheets("Sheet1").SelectMsgBox "Thông báo"
ten = InputBox("Nhập tên:")a = Range("A1").Value
Range("B1").Value = a * 2If Range("A1").Value = "X" Then
    Range("B1").Value = "Đúng"
End IfSet wb = Workbooks("tenfile.xlsx")
Set ws = wb.Sheets("Sheet1")For i = 1 To 10
    Cells(i, 1).Value = i
NextCall InThongBao
Sub InThongBao()
    MsgBox "Đây là thông báo"
End SubTìm kiếm:
Khóa học VBA Excel miễn phí dành cho người mới bắt đầu học lập trình, đặc biệt DÂN VĂN PHÒNG.