LẬP TRÌNH EXCEL VBA QUA CÁC VÍ DỤ

110 192 4
LẬP TRÌNH EXCEL VBA  QUA CÁC VÍ DỤ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LẬP TRÌNH EXCEL VBA QUA CÁC VÍ DỤ (Phần cơ bản) Hướng dẫn tự học lập trình Excel VBA cho người mới bắt đầu. Từng bước làm chủ Excel VBA ứng dụng trong quản trị và khai thác dữ liệu... LỜI NÓI ĐẦU Microsoft Excel là công cụ hàng đầu trong quản lý dữ liệu, đặc biết là các tác vụ như quản kế toán, tài chính, nhân sự, … Các bạn đã được làm quen với phần mềm Excel từ. Tuy nhiên, hầu hết các bạn chưa khai thác hết sức mạnh của công cụ ngày. Cuốn sách này sẽ giúp bạn làm quen với và khai thác một chức năng nâng cao vô cùng hiệu quả trong quản lý, phân tích dữ liệu với lập trình Excel VBA. Bạn sẽ được tìm hiểu lập trình Excel VBA qua các ví dụ cụ thể, điều đó giúp các bạn có thể hình dung một cách dễ dàng.

LẬP TRÌNH EXCEL VBA QUA CÁC VÍ DỤ (Phần bản) *** Hướng dẫn tự học lập trình Excel VBA cho người bắt đầu Từng bước làm chủ Excel VBA ứng dụng quản trị khai thác liệu *** T HANH T RAN , T RAN T X Copyright © 2019 by Thanh Tran LỜI NĨI ĐẦU Microsoft Excel công cụ hàng đầu quản lý liệu, đặc biết tác vụ quản kế tốn, tài chính, nhân sự, … Các bạn làm quen với phần mềm Excel từ Tuy nhiên, hầu hết bạn chưa khai thác mạnh công cụ ngày Cuốn sách giúp bạn làm quen với khai thác chức nâng cao vô hiệu quản lý, phân tích liệu với lập trình Excel VBA Bạn tìm hiểu lập trình Excel VBA qua ví dụ cụ thể, điều giúp bạn hình dung cách dễ dàng MỤ C L Ụ C Lời nói đầu Bài Tạo macro (Create a Macro) Bài Làm việc với MsgBox Bài Đối tượng Workbook Worksheet Bài Đối tượng phạm vi (Range Object) Bài Biến (Variables) Bài Câu lệnh If then (If Then Statement) Bài Cấu trúc lặp (Loop) Bài Lỗi Macro (Macro Errors) BÀI TẠO MỘT MACRO (CREATE A MACRO) Nội dung: Swap Values, Run Code from a Module, Macro Recorder, Use Relative References, FormulaR1C1, Add a Macro to the Toolbar, Macro Security, Protect Macro TRAO ĐỔI GIÁ TRỊ (SWAP VALUES) Ví dụ hướng dẫn cho bạn cách trao đổi hai giá trị Excel VBA Bạn thường cần cấu trúc ch ương trình phức tạp Tình huống: Cho giá trị Trong commandButton1 bạn viết code sau: Khai báo biến temp kiểu Double Dim temp As Double Khởi tạo giá trị ban đầu cho biến temp từ ô A1, lúc temp biến trung gian temp = Range("A1").Value Bây bạn gán giá trị ô A1 giá trị ô B1 Range("A1").Value = Range("B1").Value Cuối gán giá trị ô B1 temp Range("B1").Value = temp Kích đúp vào button bạn có kết Kết quả: CHẠY CODE TỪ MỘT MODULE (RUN CODE FROM A MODULE) Là người bắt đầu sử dụng Excel VBA, bạn gặp khó khăn định nơi đặt mã VBA Ví dụ minh họa cách chạy mã cách nhấp vào nút lệnh Ví dụ hướng dẫn bạn cách chạy mã từ mô-đun Mở Visual Basic Editor Click Insert, Module Tạo thủ tục (macro) tên Cyan Sub Cyan() … End Sub Chú ý: Một thủ tục tương tự chương trình hàm Sub thay đổi màu bảng tính bạn thành màu lục lam Để đạt điều này, thêm dòng mã sau (28 tương ứng màu lam) Cells.Interior.ColorIndex = 28 Chạy thủ tục để thực bước Click Macros Chọn Cyan click Run Kết quả: Lưu ý: mã đặt vào mô-đun có sẵn cho tồn sổ làm việc Điều có nghĩa là, bạn chọn Sheet2 Sheet3 thay đổi màu trang tính Chương trình thêm Macro vào cơng cụ minh họa cách cung cấp macro cho tất sổ làm việc bạn (tệp Excel) Hãy nhớ rằng, mã đặt trang tính (được gán cho nút lệnh) khả dụng cho trang tính cụ thể BẢN GHI MACRO (MACRO RECORDER) Trình ghi Macro, cơng cụ hữu ích có Excel VBA, ghi lại tác vụ bạn thực với Excel Tất bạn phải làm ghi lại nhiệm vụ cụ thể lần Tiếp theo, bạn thực nhiệm vụ nhiều lần với nút bấm Trình ghi Macro trợ giúp tuyệt vời bạn khơng biết cách lập trình tác vụ cụ thể Excel VBA Chỉ cần mở Trình soạn thảo Visual Basic sau ghi tác vụ để xem cách lập trình Thật khơng may, có nhiều điều bạn khơng thể làm với Trình ghi Macro Ví dụ: bạn khơng thể lặp qua vùng hay phạm vi liệu với Trình ghi Macro Hơn nữa, Trình ghi Macro sử dụng nhiều mã mức cần thiết, điều làm chậm q trình bạn RECORD A MACRO Trong tab Developer, click Record Macro Đặt tên Chọn This Workbook từ danh sách thả xuống Lưu ý: bạn lưu trữ macro bạn Personal Macro Workbook, macro có sẵn cho tất sổ làm việc bạn (tệp Excel) Nếu bạn lưu trữ macro bạn New Workbook, macro khả dụng sổ làm việc mở tự động Click OK Nhấp chuột phải vào ô hành động (ô chọn) Hãy chắn không chọn ổ khác! Tiếp theo, nhấp vào Format Cells Chọn Percentage Kết bạn nhấp vào nút lệnh trang tính: Kết luận: Excel VBA trả thất bại điểm2 CÂU LỆNH LỰA CHỌN (SELECT CASE) Thay nhiều câu lệnh If Then Excel VBA, bạn sử dụng cầu trúc Select Case Situation: Đặt nút lệnh bảng tính bạn thêm dòng mã sau: Đầu tiên, khai báo hai biến Một biến kiểu Integer có tên điểm biến kiểu String có tên Kết Dim score As Integer, Kết As String Chúng khởi tạo điểm số biến với giá trị ô A1 score = Range("A1").Value Thêm cấu trúc Chọn trường hợp Select Case score Case Is >= 80 Kết = "very good" Case Is >= 70 Kết = "good" Case Is >= 60 Kết = "sufficient" Case Else Kết = "insufficient" End Select Giải thích: Excel VBA sử dụng giá trị điểm số biến để kiểm tra câu lệnh Case để xem liệu mã câu lệnh Case có thực thi hay không Viết giá trị kết biến vào ô B1 Range("B1").Value = Result Kiểm tra chương trình Kết bạn nhấp vào nút lệnh trang tính: Lưu ý: Excel VBA thực thi mã theo câu lệnh Case thứ hai cho tất giá trị lớn 70 nhỏ 80 BÀI CẤU TRÚC LẶP (LOOP) Nội dung: Loop through Defined Range, Loop through Entire Column, Do Until Loop, Step Keyword, … LOOP THROUGH DEFINED RANGE Dưới chúng tơi xem xét chương trình lặp qua phạm vi xác định Ví dụ: muốn bình phương số Range("A1: A3") Bạn có biết bạn lặp qua phạm vi động? Situation: Đặt nút lệnh bảng tính bạn thêm dòng mã sau: Đầu tiên, khai báo hai đối tượng Range Chúng gọi đối tượng Range rng cell Dim rng As Range, cell As Range Chúng khởi tạo rng đối tượng Range với Range("A1:A3") Set rng = Range("A1:A3") Thêm cấu trúc For Each Next loop For Each cell In rng Next cell Lưu ý: rng ô chọn ngẫu nhiên đây, bạn sử dụng tên Hãy nhớ tham khảo tên phần lại mã bạn Tiếp theo, chúng tơi bình phương phạm vi Để đạt điều này, thêm dòng mã sau vào vòng lặp: cell.Value = cell.Value * cell.Value Kết bạn nhấp vào nút lệnh trang tính: Nếu bạn muốn kiểm tra phạm vi chọn ngẫu nhiên, cần thay thế: Set rng = Range("A1:A3") with: Set rng = Selection Bây giờ, ví dụ chọn Range("A1:A2") Kết when you click the command button on the sheet: DO UNTIL LOOP Dưới xem xét chương trình Excel VBA lặp qua tồn cột tô màu tất giá trị thấp giá trị định Đặt nút lệnh bảng tính bạn thêm dòng mã sau: Đầu tiên, khai báo biến gọi i loại Long Chúng sử dụng biến loại Long biến Long có dung lượng lớn biến số nguyên Dim i As Long Tiếp theo, thêm dịng mã thay đổi màu phơng chữ tất ô cột A thành màu đen Columns(1).Font.Color = vbBlack Thêm loop For i = To Rows.Count Next i Tiếp theo, tô màu tất giá trị thấp giá trị nhập vào ô D2 Các ô trống bỏ qua Thêm dòng mã sau vào vòng lặp If Cells(i, 1).Value < Range("D2").Value And Not IsEmpty(Cells(i, 1).Value) Then Cells(i, 1).Font.Color = vbRed End If Kết bạn nhấp vào nút lệnh trang tính (việc lúc): STEP KEYWORD Mặc dù không sử dụng thường xuyên trang web này, bạn thấy tình bạn muốn sử dụng Do Until Loop Excel VBA Mã đặt Do Until Loop lặp lại phần sau Do Until true Đặt nút lệnh bảng tính bạn thêm dịng mã sau: Dim i As Integer i=1 Do Until i > Cells(i, 1).Value = 20 i=i+1 Loop Kết bạn nhấp vào nút lệnh trang tính: Giải thích: i cao 6, VBA Excel đặt giá trị 20 vào ô giao điểm hàng i cột tăng i lên Kết giá trị 20 đặt vào cột A sáu lần (khơng phải bảy VBA Excel dừng 7) BÀI LỖI MACRO (MACRO ERRORS) DEBUGGING Ví dụ dạy cho bạn cách gỡ lỗi mã Excel VBA Single Step Bằng cách nhấn F8, bạn thực bước thơng qua mã Điều hữu ích cho phép bạn thấy tác dụng dịng mã bảng tính bạn Đặt nút lệnh bảng tính bạn thêm dịng mã sau: Dim i As Integer, j As Integer For i = To For j = To Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100) Next j Next i Kết bạn nhấp vào nút lệnh trang tính: Làm trống phạm vi A1:E2 Mở Trình soạn thảo Visual Basic giảm kích thước hình để bạn thấy Trình soạn thảo Visual Basic bảng tính lúc Trong Trình soạn thảo Visual Basic, đặt trỏ bạn trước Riêng tư nhấn F8 Dòng chuyển sang màu vàng Nhấn F8 bốn lần Với i = j = 1, VBA Excel nhập số ngẫu nhiên từ 20 đến 100 vào ô giao điểm hàng cột Bằng cách giữ trỏ ổn định biến, bạn thấy giá trị biến Nhấn F8 hai lần Với i = j = 2, VBA Excel nhập số ngẫu nhiên từ 20 đến 100 vào ô giao điểm hàng cột Một bước qua phần lại mã để xem VBA Excel nhập số khác Đây cách tuyệt vời để tìm hiểu làm vòng lặp hoạt động Nếu bạn muốn dừng chương trình, nhấp vào nút Đặt lại (Dừng) Breakpoint Bạn đặt điểm dừng để tạm dừng thực thi dòng mã cụ thể Làm trống phạm vi A1:E2 Để đặt điểm dừng, nhấp vào lề trái (màu xám) nơi bạn muốn đặt điểm dừng Một chấm đỏ xuất Nhấp vào mũi tên màu xanh để thực macro điểm dừng Kết quả: Chỉ phần macro (cho i = 1) thực thi Để xóa điểm dừng, nhấp vào dấu chấm màu đỏ Tiếp theo, nhấp vào mũi tên màu xanh để tiếp tục thực Nếu bạn nhận macro từ người khác, nhớ, gỡ lỗi cách tuyệt vời để hiểu mã Bạn dễ dàng thấy tác dụng dịng mã bảng tính bạn [Hết tập 1, mời b ạn đón đ ọc ti ếp t ập 2] ... chức nâng cao vô hiệu quản lý, phân tích liệu với lập trình Excel VBA Bạn tìm hiểu lập trình Excel VBA qua ví dụ cụ thể, điều giúp bạn hình dung cách dễ dàng MỤ C L Ụ C Lời nói đầu Bài Tạo macro... bạn cách lập trình tác vụ cụ thể Excel VBA Chỉ cần mở Trình soạn thảo Visual Basic sau ghi tác vụ để xem cách lập trình Thật khơng may, có nhiều điều bạn khơng thể làm với Trình ghi Macro Ví dụ: ... FROM A MODULE) Là người bắt đầu sử dụng Excel VBA, bạn gặp khó khăn định nơi đặt mã VBA Ví dụ minh họa cách chạy mã cách nhấp vào nút lệnh Ví dụ hướng dẫn bạn cách chạy mã từ mô-đun Mở Visual Basic

Ngày đăng: 22/04/2021, 10:14

Từ khóa liên quan

Mục lục

  • (Phần cơ bản)

  • Hướng dẫn tự học lập trình Excel VBA cho người mới bắt đầu.

  • Từng bước làm chủ Excel VBA ứng dụng trong quản trị và khai thác dữ liệu...

  • Lời nói đầu

  • Mục lục

  • Bài 1. Tạo một macro (Create a Macro)

    • Trao đổi giá trị (Swap Values)

    • Chạy code từ một module (Run Code from a Module)

    • Bản ghi Macro (Macro Recorder)

      • Record a Macro

      • Chạy trình bản ghi Macro (Run a Recorded Macro)

      • Xem Macro

      • Sử dụng tài liệu tham khảo tương đối (Use Relative References)

        • Ghi ở chế độ tuyệt đối

        • Một macro được ghi ở chế độ tuyệt đối luôn tạo ra kết quả tương tự.

        • Ghi ở chế độ tương đối

        • FormulaR1C1

        • Thêm một macro vào toolbar

        • bảo mật Macro (Macro Security)

        • Bảo mật Macro

        • Bài 2. Làm việc với MsgBox

          • Hàm MsgBox

          • Hàm InputBox

          • Bài 3. Đối tượng Workbook và Worksheet

            • Đường dẫn và tên đầy đủ (Path and FullName )

Tài liệu cùng người dùng

Tài liệu liên quan