Bài giảng Tin học văn phòng - Macro và VBA trong Excel trình bày các kiến thức cơ bản về Macro và VBA, một số bài tập thực hành về Macro và VBA. Đây là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn Tin học văn phòng và những ai quan tâm dùng làm tài liệu tham khảo và học tập.
Macro VBA Excel Mục lục • Macro • VBA • Thực hành Chú ý • Phải lưu tệp dạng xlsm thay xlsx; khơng không sử dụng Macro hay VBA I Macro • Tại cần Macro ? • Tìm Macro menu Excel • Các bước để tạo sử dụng Macro Macro: Tại cần Macro ? • Demo Macro: Tại cần Macro ? • Demo • Nhu cầu: Gom chuỗi hành động/thao tác để tạo thành hành động/thao tác có kết • Cơng việc đơn giản • Kết đồng bộ, xác Macro: Tìm Macro menu Excel • Cách : phức tạp nhất, cung cấp đầy đủ công cụ Macro: Tìm Macro menu Excel Macro: Tìm Macro menu Excel Macro: Tìm Macro menu Excel 10 VBA: viết Macro • Ví dụ Sub XinChao() - Tên Macro, người lập trình tự đặt MsgBox(“Xin chao cac ban”) End Sub - Từ khóa để khai báo Macro 35 VBA: Hàm vs Macro • Macro • Khơng lấy liệu đầu vào • Khơng có kết trả • Hàm • Có liệu đầu vào • Có kết trả 36 VBA: Vào liệu • Nhận giá trị từ bảng tính vào biến TênBiến = Range(“tên_ơ”).Value TênBiến = Cells(chỉ_số_dòng, chỉ_số_cột).Value • Đưa giá trị từ biến ô bảng tính Range(“tên_ơ”).Value = Cells(chỉ_số_dòng, chỉ_số_cột).Value= 37 VBA: Vào liệu • Nhận giá trị từ bảng tính vào biến HoTen = Range(“B5”).Value HoTen = Cells(5, 2).Value • Đưa giá trị từ biến bảng tính Range(“A10”).Value = “Lionel Messi” Cells(3, 4).Value= * / • Demo 38 VBA: Các kiểu liệu Kiểu liệu Miền giá trị Byte to 255 Long -2,147,483,648 to 2,147,483,648 Integer Single Double Currency Decimal -32,768 to 32,767 -3.402823E+38 to -1.401298E-45 cho số âm 1.401298E-45 to 3.402823E+38 cho số dương -1.79769313486232e+308 to -4.94065645841247E-324 cho số âm 4.94065645841247E-324 to 1.79769313486232e+308 số dương -922,337,203,685,477.5808 to 922,337,203,685,477.5807 +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use +/- 7.9228162514264337593543950335 (28 decimal places) 39 VBA: Các kiểu liệu Kiểu liệu Miền giá trị String (fixed length) to 65,400 characters Date January 1, 100 to December 31, 9999 String (variable length) Boolean Object Variant(numeric) Variant(text) to billion characters True or False Any embedded object Any value as large as Double Same as variable-length string 40 VBA: Câu lệnh lựa chọn • Kiểu If Then Khối_lệnh End If • Kiểu If Then Khối_lệnh_1 Else Khối_lệnh_2 End If 41 VBA: Câu lệnh lựa chọn • Kiểu If HoTen = “My Tam” Then MsgBox(“Day la mot ca sy noi tieng”) End If • Kiểu If Tuoi > 60 Then MsgBox(“Tren 60 tuoi, gia roi!”) Else MsgBox(“Duoi 60 tuoi, tre lam!”) End If 42 VBA: câu lệnh nhiều lựa chọn • Lệnh lựa chọn Case sử dụng có nhiều giá trị xảy Select Case Case điều_kiện_1 [khối_lệnh_1] … Case điều_kiện_n [khối_lệnh_n] Case Else [khối_lệnh_else] End Select 43 VBA: câu lệnh nhiều lựa chọn • Ví dụ Dim GiaVeMayBay As Integer Select Case DiDuLich Case Tokyo GiaVeMayBay = 1000 Case Paris GiaVeMayBay = 5000 Case NewYork GiaVeMayBay = 15000 Case Else GiaVeMayBay = End Select 44 VBA: Lặp • Lặp với số lần xác định tứ trước • Lặp với số lần không xác định tử trước 45 VBA: Lặp với số lần xác định từ trước • Cú pháp For = To [Step ] [Khối_lệnh] Next • Ví dụ Dim a As Integer For a=1 To Cells(a, a).Value = a Next a 46 VBA: lặp với số lần khơng xác định từ trước • Cứ thực điều kiện thỏa mãn Do Until [Khối_lệnh] Loop • Cứ thực điều kiện thỏa mãn Do While [Khối_lệnh] Loop 47 VBA: lặp với số lần khơng xác định từ trước • Cứ thực điều kiện thỏa mãn Dim i As Integer i=1 Do Until i > Cells(i, 1).Value = i + 10 i=i+1 Loop • Cứ thực điều kiện thỏa mãn Dim i As Integer i=1 Do While i < Cells(i, 1).Value = i + i=i+1 Loop 48 III Thực hành 49 ... cơng cụ Macro: Tìm Macro menu Excel Macro: Tìm Macro menu Excel Macro: Tìm Macro menu Excel 10 Macro: Tìm Macro menu Excel 11 Macro: Tìm Macro menu Excel • Cách 12 Macro: Tìm Macro menu Excel •... lục • Macro • VBA • Thực hành Chú ý • Phải lưu tệp dạng xlsm thay xlsx; khơng khơng sử dụng Macro hay VBA I Macro • Tại cần Macro ? • Tìm Macro menu Excel • Các bước để tạo sử dụng Macro Macro:... Cách Bấm vào nút phía bên trái cửa sổ Excel để ghi Marco 13 Macro: Các bước để tạo sử dụng Macro • Tạo Macro • Hình dung quay phim • Mọi thao tác Excel ghi lại thành Macro • Demo 14 Macro: Các