VBAExcel
Bước 8 - Bây giờ, nhấp đúp vào nút và phác thảo quy trình phụ sẽ được hiển thị như trong ảnh chụp màn hình sau Show
Bước 9 - Bắt đầu mã hóa bằng cách thêm một tin nhắn Private Sub say_helloworld_Click() MsgBox "Hi" End Sub Bước 10 - Nhấp vào nút để thực hiện quy trình phụ. Đầu ra của thủ tục phụ được hiển thị trong ảnh chụp màn hình sau. Đảm bảo rằng bạn đã bật chế độ thiết kế. Chỉ cần nhấp vào nó để bật nó lên nếu nó không bật Lưu ý - Trong các chương tiếp theo, chúng tôi sẽ minh họa bằng cách sử dụng một nút đơn giản, như được giải thích từ bước #1 đến bước 10. Do đó, điều quan trọng là phải hiểu kỹ chương này. Đây là bài hướng dẫn viết mã trong bảng tính Excel bằng Visual Basic for Applications (VBA) Excel là một trong những sản phẩm phổ biến nhất của Microsoft. Vào năm 2016, Giám đốc điều hành của Microsoft đã nói : "Hãy nghĩ về một thế giới không có Excel. Điều đó là không thể đối với tôi. ” Chà, có lẽ thế giới không thể suy nghĩ nếu không có Excel
Chúng tôi là một gia đình lớn hạnh phúc Trong hướng dẫn này, bạn sẽ tìm hiểu về VBA và cách viết mã trong bảng tính Excel bằng Visual Basic điều kiện tiên quyếtBạn không cần bất kỳ kinh nghiệm lập trình trước đó để hiểu hướng dẫn này. Tuy nhiên, bạn sẽ cần
Mục tiêu học tậpTrong suốt bài viết này, bạn sẽ học
Khái niệm quan trọngDưới đây là một số khái niệm quan trọng mà bạn nên làm quen để hiểu đầy đủ hướng dẫn này Các đối tượng. Excel hướng đối tượng, nghĩa là mọi thứ đều là đối tượng - cửa sổ Excel, sổ làm việc, trang tính, biểu đồ, ô. VBA cho phép người dùng thao tác, thực hiện các thao tác với đối tượng trong Excel Nếu bạn chưa có bất kỳ kinh nghiệm nào về lập trình hướng đối tượng và đây là một khái niệm hoàn toàn mới, hãy dành một chút thời gian để hiểu rõ điều đó thủ tục. một thủ tục là một đoạn mã VBA, được viết trong Visual Basic Editor, để hoàn thành một nhiệm vụ. Đôi khi, điều này còn được gọi là macro (thêm về macro bên dưới). Có hai loại thủ tục
Ghi chú. bạn có thể có các hàm hoạt động bên trong các chương trình con. Bạn sẽ thấy sau macro. Nếu bạn đã dành thời gian tìm hiểu thêm về chức năng nâng cao của Excel, có lẽ bạn đã gặp khái niệm về “macro. ” Người dùng Excel có thể ghi macro, bao gồm các lệnh/tổ hợp phím/lần nhấp của người dùng và phát lại chúng với tốc độ cực nhanh để hoàn thành các tác vụ lặp đi lặp lại. Các macro đã ghi tạo mã VBA, sau đó bạn có thể kiểm tra mã này. Thực sự khá thú vị khi ghi lại một macro đơn giản và sau đó xem mã VBA Xin lưu ý rằng đôi khi việc ghi macro có thể dễ dàng và nhanh hơn thay vì viết mã thủ công cho quy trình VBA Ví dụ, có thể bạn làm việc trong quản lý dự án. Mỗi tuần một lần, bạn phải chuyển một báo cáo xuất thô từ hệ thống quản lý dự án của mình thành một báo cáo rõ ràng, được định dạng đẹp mắt cho lãnh đạo. Bạn cần định dạng tên của các dự án vượt ngân sách bằng chữ in đậm màu đỏ. Bạn có thể ghi lại các thay đổi định dạng dưới dạng macro và chạy macro đó bất cứ khi nào bạn cần thực hiện thay đổi VBA là gì?Visual Basic for Applications là một ngôn ngữ lập trình được phát triển bởi Microsoft. Mỗi chương trình phần mềm trong bộ Microsoft Office đều đi kèm với ngôn ngữ VBA mà không mất thêm chi phí. VBA cho phép người dùng Microsoft Office tạo các chương trình nhỏ hoạt động trong các chương trình phần mềm Microsoft Office Hãy nghĩ về VBA giống như một lò nướng bánh pizza trong nhà hàng. Excel là nhà hàng. Nhà bếp đi kèm với các thiết bị thương mại tiêu chuẩn, như tủ lạnh lớn, bếp và lò nướng thông thường - đó là tất cả các tính năng tiêu chuẩn của Excel Nhưng nếu bạn muốn làm bánh pizza bằng củi thì sao? . VBA là lò nướng pizza ngon Tại sao nên sử dụng VBA trong Excel?Vì pizza nướng bằng củi là ngon nhất Nhưng nghiêm túc Rất nhiều người dành nhiều thời gian cho Excel như một phần công việc của họ. Thời gian trong Excel cũng di chuyển khác đi. Tùy thuộc vào hoàn cảnh, 10 phút trong Excel có thể dài như vô tận nếu bạn không thể làm những gì mình cần hoặc 10 giờ có thể trôi qua rất nhanh nếu mọi thứ đều suôn sẻ. Đó là lúc bạn nên tự hỏi mình, tại sao tôi lại dành 10 giờ cho Excel? Đôi khi, những ngày đó là không thể tránh khỏi. Nhưng nếu bạn đang dành 8-10 giờ mỗi ngày trong Excel để thực hiện các tác vụ lặp đi lặp lại, lặp lại nhiều quy trình giống nhau, cố gắng dọn dẹp sau khi những người dùng khác của tệp hoặc thậm chí cập nhật các tệp khác sau khi các thay đổi được thực hiện đối với tệp Excel, Bạn nên cân nhắc sử dụng VBA nếu bạn cần
Thẻ nhà phát triểnĐể viết VBA, bạn cần thêm tab Nhà phát triển vào dải băng, vì vậy bạn sẽ thấy dải băng như thế này Để thêm tab Nhà phát triển vào dải băng
Sau khi bạn hiển thị tab, tab Nhà phát triển vẫn hiển thị, trừ khi bạn bỏ chọn hộp kiểm hoặc phải cài đặt lại Excel. Để biết thêm thông tin, hãy xem tài liệu trợ giúp của Microsoft Biên tập viên VBAĐiều hướng đến tab Nhà phát triển và nhấp vào nút Visual Basic. Một cửa sổ mới sẽ bật lên - đây là Visual Basic Editor. Với mục đích của hướng dẫn này, bạn chỉ cần làm quen với ngăn Project Explorer và ngăn Thuộc tính thuộc tính Trước tiên, hãy tạo một tệp để chúng tôi chơi xung quanh
Hãy bắt đầu với một số ví dụ đơn giản để giúp bạn viết mã trong bảng tính bằng Visual Basic Ví dụ 1. Hiển thị Thông báo khi Người dùng Mở Sổ làm việc ExcelTrong VBA Editor, chọn Insert -> New Module Viết mã này vào cửa sổ Mô-đun (không dán. ) Sub Auto_Open() Lưu, đóng sổ làm việc và mở lại sổ làm việc. Hộp thoại này sẽ hiển thị tà đà Làm thế nào là nó làm điều đó?Tùy thuộc vào mức độ quen thuộc của bạn với lập trình, bạn có thể có một số phỏng đoán. Nó không đặc biệt phức tạp, nhưng có khá nhiều thứ đang diễn ra
Tóm lại, đây là một chương trình con đơn giản có chứa hàm Khi nào tôi có thể sử dụng cái này?Có thể bạn có một tệp rất quan trọng không được truy cập thường xuyên (ví dụ: mỗi quý một lần), nhưng được cập nhật tự động hàng ngày bởi một thủ tục VBA khác. Khi nó được truy cập, nó sẽ được truy cập bởi nhiều người trong nhiều bộ phận, trên toàn công ty
Ví dụ trong thế giới thực
Ví dụ #2. Cho phép người dùng thực hiện một thủ tục khácTrong VBA Editor, chọn Insert -> New Module Viết mã này vào cửa sổ Mô-đun (không dán. ) Sub UserReportQuery() Sub ProcessReport() Lưu và điều hướng quay lại tab Nhà phát triển của Excel và chọn tùy chọn “Nút”. Bấm vào một ô và gán macro UserReportQuery cho nút Bây giờ bấm vào nút. Thông báo này sẽ hiển thị Nhấp vào “có” hoặc nhấn Enter Một lần nữa, tada Xin lưu ý rằng chương trình con phụ, ProcessReport, có thể là bất cứ thứ gì. Tôi sẽ chứng minh nhiều khả năng hơn trong ví dụ #3. Nhưng trước tiên Làm thế nào là nó làm điều đó?Ví dụ này được xây dựng dựa trên ví dụ trước và có khá nhiều yếu tố mới. Hãy đi qua những thứ mới
Khi nào tôi có thể sử dụng cái này?Điều này có thể được sử dụng trong nhiều, nhiều cách. Giá trị và tính linh hoạt của chức năng này được xác định nhiều hơn bởi những gì chương trình con phụ thực hiện Ví dụ: có thể bạn có một tệp được sử dụng để tạo 3 báo cáo hàng tuần khác nhau. Các báo cáo này được định dạng theo những cách khác nhau đáng kể
Ví dụ trong thế giới thực
Ví dụ #3. Thêm số vào một phạm vi với vòng lặp tiếp theoVòng lặp for rất hữu ích nếu bạn cần thực hiện các tác vụ lặp đi lặp lại trên một phạm vi giá trị cụ thể - mảng hoặc phạm vi ô. Nói một cách dễ hiểu, một vòng lặp có nội dung “với mỗi x, do y. ” Trong VBA Editor, chọn Insert -> New Module Viết mã này vào cửa sổ Mô-đun (không dán. ) Sub LoopExample() Lưu và điều hướng trở lại tab Nhà phát triển của Excel và chọn nút Macro. Chạy macro LoopExample Điều này sẽ xảy ra Vân vân, cho đến hàng thứ 100 Làm thế nào là nó làm điều đó?
Khi nào tôi có thể sử dụng cái này?Vòng lặp For-Next là một trong những chức năng mạnh mẽ nhất của VBA; . Đây là một ví dụ phức tạp hơn, đòi hỏi nhiều lớp logic, nhưng nó truyền đạt thế giới khả năng trong các vòng lặp For-Next Có thể bạn có danh sách tất cả các sản phẩm được bán tại tiệm bánh của mình ở Cột A, loại sản phẩm ở Cột B (bánh ngọt, bánh rán hoặc bánh nướng xốp), chi phí nguyên liệu ở Cột C và chi phí trung bình thị trường của từng loại sản phẩm ở Cột A. Bạn cần tính xem giá bán lẻ của từng sản phẩm là bao nhiêu. Bạn đang nghĩ rằng đó phải là chi phí nguyên liệu cộng thêm 20%, nhưng cũng là 1. 2% dưới mức trung bình thị trường nếu có thể. Vòng lặp For-Next sẽ cho phép bạn thực hiện loại tính toán này Ví dụ trong thế giới thực
Bây giờ chúng ta đã nói về bánh pizza và bánh nướng xốp và vâng, cách viết mã VBA trong bảng tính Excel, chúng ta hãy kiểm tra kiến thức. Xem nếu bạn có thể trả lời những câu hỏi này
Nếu bạn có một ý tưởng hợp lý về cách bạn có thể trả lời những câu hỏi này, thì điều này đã thành công Cho dù bạn là người dùng không thường xuyên hay người dùng thành thạo, tôi hy vọng hướng dẫn này cung cấp thông tin hữu ích về những gì có thể được thực hiện chỉ với một chút mã trong bảng tính Excel của bạn Mã hóa vui vẻ Tài nguyên học tập
Một chút về tôiTôi là Chloe Tucker, một nghệ sĩ và nhà phát triển ở Portland, Oregon. Từng là một nhà giáo dục, tôi không ngừng tìm kiếm sự giao thoa giữa học và dạy, hay công nghệ và nghệ thuật. Liên hệ với tôi trên Twitter @_chloetucker và xem trang web của tôi tại chloe. nhà phát triển QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO QUẢNG CÁO Đọc thêm bài viết Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu VBA trong Excel là gì?VBA là viết tắt của Visual Basic Analysis . Excel VBA là ngôn ngữ lập trình của Microsoft dành cho các ứng dụng Office như MS-Excel, MS-Word và MS-Access. Macro là thứ mà hầu hết những người viết mã VBA sử dụng.
Excel VBA có dễ không?Excel VBA rất dễ học và nó có Giao diện người dùng dễ sử dụng, trong đó bạn chỉ cần kéo và thả các điều khiển giao diện. Nó cũng cho phép bạn nâng cao chức năng của Excel bằng cách làm cho nó hoạt động theo cách bạn muốn.
VBA có dễ hơn Python không?Python dễ học và thành thạo hơn , không giống như Excel, bao gồm một ngôn ngữ được cá nhân hóa gọi là VBA, rất phức tạp để thành thạo và thực thi. Việc chuyển đổi từ Excel sang Python cho phép người dùng tận hưởng nhiều lợi ích khác nhau, chẳng hạn như nền tảng viết mã nguồn mở, nhiều cộng tác viên tình nguyện và thư viện miễn phí.
Sự khác biệt giữa VBA và Excel là gì?VBA là ngôn ngữ lập trình để phát triển các tác vụ tự động cho Excel và các chương trình Microsoft Office khác như Word và PowerPoint trong khi macro là tập hợp các lệnh được sử dụng để thay thế một loạt thao tác bàn phím và chuột lặp đi lặp lại trong một ứng dụng như MS Excel |