Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
904,43 KB
Nội dung
TIN VĂN PHỊNG LẬP TRÌNH VBA TRONG EXCEL TS Trần Mạnh Tuấn Bộ môn Hệ thống thông tin, Khoa CNTT Trường đại học Thủy Lợi Website: https://sites.google.com/site/tranmanhtuantlu/ Điện thoại: 0983668841; Email: tuan_tm@tlu.edu.vn NỘI DUNG GIỚI THIỆU VBA MỘT SỐ KIẾN THỨC CƠ BẢN VBA MACRO XÂY DỰNG HÀM MỚI TRONG EXCEL MỘT SỐ VÍ DỤ CƠ BẢN VỀ MARCO GIỚI THIỆU VBA VBA viết tắt Visual Basic for Application Sử dụng tất ứng dụng Microsoft Office Bật menu VBA • Vào File Chọn Options Chọn Customize Ribbon • Bên phần Customize the Ribbon, chọn Main Tabs • Chọn Developer • Nhấn OK VISUAL BASIC EDITOR Là chương trình kèm với Excel cho phép giao tiếp với Excel Khởi động VBE: • Ấn Alt + F11 • Vào ribbon Developer, chọn Visual basic VISUAL BASIC EDITOR BIẾN Là vùng nhớ để máy tính lưu trữ liệu Mỗi biến có tên Cách đặt tên biến: • Phải nhỏ 255 ký tự • Khơng chứa khoảng trắng • Không bắt đầu ký tự số • Không chứa ký tự đặc biệt &,%, BIẾN Ví dụ: Tên biến My_Car He&HisFather My.Car Long_Name_Can_beUse ThisYear Group88 1NewBoy Student ID KHAI BÁO BIẾN Khai báo nhiều biến dòng Dim variableName as DataType • Dim: Từ khóa phạm vi sử dụng biến • Dim: biến sử dụng thủ tục module • Public: biến khai báo mức module Có thể sử dụng tất module nằm workbook • Private: biến khai báo mức module Chỉ sử dụng module • VariableName: tên biến • DataType: kiểu liệu Phải khai báo biến trước sử dụng biến BIẾN Khai báo nhiều biến dòng Dim password As String, firstnum As Integer Ví dụ: Dim password As String Dim secondnum As Integer Dim yourName As String*120 Dim total As Integer Dim firstnum As Integer Dim BirthDay As Date KIỂU DỮ LIỆU Dữ liệu kiểu số: Type Storage Range of Values Byte byte Integer bytes -32,768 to 32,767 Long bytes -2,147,483,648 to 2,147,483,648 Single Double bytes bytes to 255 -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 Currency bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807 Decimal 12 bytes +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use +/- 7.9228162514264337593543950335 (28 decimal places) 10 CÂU LỆNH LỰA CHỌN CASE Ví dụ 2: Select Case LNumber Case To 10 LRegionName = "North" Case 11 To 20 LRegionName = "South" Case 21 To 30 LRegionName = "East" Case Else LRegionName = "West" End Select 21 CÂU LỆNH LỰA CHỌN CASE Ví dụ 3: Select Case LNumber Case 1, LRegionName = "North" Case 3, 4, LRegionName = "South" Case LRegionName = "East" Case 7, 11 LRegionName = "West" End Select 22 LẶP VỚI SỐ LẦN XÁC ĐỊNH Thực lặp khối lệnh theo biến đếm với số lần lặp xác định Cú pháp: For = To [Khối_lệnh] Next [] 23 [Step ] LẶP VỚI SỐ LẦN XÁC ĐỊNH Ví dụ: Dim i As Integer For i = To 10 Cells(i, 1).Value = i Next i Dim i As Integer, j As Integer For i = To 10 For j = To Cells(i, j).Value = 100 Next j Next i 24 LẶP KHÔNG XÁC ĐỊNH Dạng 1: Khối lệnh thực điều kiện cịn Cú pháp: • Ví dụ: Do While [Khối_lệnh] Loop Dim i As Integer i=1 Do While i < Cells(i, 1).Value = 20 i=i+1 Loop 25 LẶP KHÔNG XÁC ĐỊNH Dạng 2: Khối lệnh thực điều kiện sai Cú pháp: • Ví dụ: Do Until [Khối_lệnh] Loop Dim i As Integer i=1 Do Until i > Cells(i, 1).Value = 20 i=i+1 Loop 26 MACRO Macro Là tập hợp lệnh hàm lưu trữ module VBA nhằm thực nhiệm vụ • Macro chương trình dạng thủ tục (Sub) với từ khóa Public, khơng có tham số • Ví dụ: Sub Macro() „ Macro Public Sub Macro () „Macro Private Sub Macro() „Thủ tục với từ khố Private,khơng phải Macro Sub Macro(Input as Double) „ Thủ tục có tham số, khơng phải Macro Public Function Macro() as Double 27 „Hàm, Macro CẤU TRÚC MACRO [Public] Sub Tên_Macro() [Câu_lệnh] End Sub • Ví dụ: Sub Macro1 () For n = To Cells(n, 1) = n Next n End Sub 28 TẠO MACRO Cách 1: Ghi lại thao tác Bước 1: Vào ribbon Developer, chọn Record Macro Bước 2: Đặt tên Macro phím tắt Bước 3: Thực thao tác muốn ghi lại Bước 4: Kết thúc cách chọn Stop Recording 29 TẠO MACRO Cách 2: Tạo Macro sử dụng VBA Bước 1: Vào ribbon Developer, chọn Visual Basic Bước 2: Nhấn chuột phải vào VBAProject, chọn Inset Module Bước 3: Nhập dòng lệnh cho Macro Bước 4: chọn trình đơn File/Close and Return to Microsoft Excel để trở hình Excel 30 CHẠY MACRO Cách 1: Bước 1: Vào ribbon Developer, chọn Macro Bước 2: Nhấn chuột phải vào VBAProject, chọn Inset Module Bước 3: Chọn Macro cần chạy, nhấn Run • Cách 2: – Bước 1: Vào ribbon Developer, chọn Visual Basic – Bước 2: Chọn Macro có, nhấn nút Run ấn F5 • Cách 3: – Nhấn phím tắt quy ước tạo Macro 31 XÂY DỰNG HÀM MỚI Hàm: công thức định nghĩa sẵn excel Cấu trúc: [Public/Private] Function Tên_hàm([DSách_tham_số]) [as kiểu liệu] [Câu_lệnh] [Tên_hàm = biểu_thức] End Function 32 XÂY DỰNG HÀM MỚI Hàm: công thức định nghĩa sẵn excel Cấu trúc: [Public/Private] Function Tên_hàm( [DSách_tham_số] ) as [kiểu liệu] [Câu_lệnh] [Tên_hàm = biểu_thức] End Function • Ví dụ: Public Function Dien_Tich(Rong As Double, Cao As Double) As Double Dien_Tich = Rong * Cao „Hàm tính diện tích hình chữ nhật End Function 33 SỬ DỤNG HÀM 34 THỰC HÀNH 35 ... bytes -3 2,768 to 32,767 Long bytes -2 ,147 ,483,648 to 2 ,147 ,483,648 Single Double bytes bytes to 255 -3 .402823E+38 to -1 .401298E-45 cho số âm 1.401298E-45 to 3.402823E+38 cho số dương -1 .79769 3134 86232e+308... -1 .79769 3134 86232e+308 to -4 .94065645841247E-324 cho số âm 4.94065645841247E-324 to 1.79769 3134 86232e+308 số dương Currency bytes -9 22,337,203,685,477.5808 to 922,337,203,685,477.5807 Decimal 12 bytes + /- 79,228,162, 514, 264,337,593,543,950,335... -9 22,337,203,685,477.5808 to 922,337,203,685,477.5807 Decimal 12 bytes + /- 79,228,162, 514, 264,337,593,543,950,335 if no decimal is use + /- 7.9228162 5142 64337593543950335 (28 decimal places) 10 KIỂU DỮ LIỆU Dữ liệu