Khóa học VBA Excel Free

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.

  1. Lý do bạn nên học VBA Excel
  2. Học VBA Excel miễn phí ở đâu
  3. Kiến thức tóm gọn về VBA Excel người mới bắt đầu
  4. Tham khảo thêm VBA nâng cao

Xin chào bạn đến với khóa học lập trình vba dễ nhất.

1. Lý do bạn nên học VBA Excel

- 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)

2. Học VBA Excel miễn phí ở đâu

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.

Học excel miễn phí

3. Kiến thức tóm gọn về VBA Excel người mới bắt đầu

1. Cách vào lập trình 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.

2. Cấu trúc cơ bản VBA Excel

Sub TenMacro()
    ' Nội dung lệnh vba
End Sub
Function Tong(a,b)
   Tong=a+b
End Function

    Sub: Thủ tục (procedure), là những dòng code VBA để tự động hóa các thao tác trong excel thay vì làm bằng thủ công.
    Function: Hàm có giá trị trả về, giúp tính toán nhanh hơn, các công thức phức tạp mà trong excel chưa có, hay tao hàm để linh hoạt hơn trong công việc.

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

3. Biến & Kiểu dữ liệu

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.

4. Câu lệnh điều kiện

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 If

5. Vòng lặp

For…Next

For i = 1 To 10
    Debug.Print i
Next i

Do While

Do While a < 10
    a = a + 1
Loop

For Each

For Each cell In Range("A1:A5")
    cell.Value = "Hello"
Next

6. Làm việc với ô & sheet

Range("A1").Value = "Xin chào"
Cells(1, 2).Value = 100
Sheets("Sheet1").Select

7. Hàm MsgBox & InputBox

MsgBox "Thông báo"
ten = InputBox("Nhập tên:")

8. Gán giá trị, tính toán

a = Range("A1").Value
Range("B1").Value = a * 2

9. Sử dụng điều kiện trong Excel

If Range("A1").Value = "X" Then
    Range("B1").Value = "Đúng"
End If

10. Làm việc với Workbook & Worksheet

Set wb = Workbooks("tenfile.xlsx")
Set ws = wb.Sheets("Sheet1")

11. Duyệt nhiều dòng

For i = 1 To 10
    Cells(i, 1).Value = i
Next

12. Gọi hàm riêng

Call InThongBao

Sub InThongBao()
    MsgBox "Đây là thông báo"
End Sub

4. Tham khảo thêm VBA nâng cao

Tìm kiếm:

Bài viết liên quan:

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.