VBA trong Excel: Visual Basic cho các ứng dụng là gì, Cách sử dụng

Mục lục:

Anonim
Everybody in this country should learn how to program a computer… because it teaches you how to think." -Steve Jobs

Tôi muốn mở rộng những lời khôn ngoan của Steve Jobs và nói rằng tất cả mọi người trên thế giới nên học cách lập trình máy tính. Bạn có thể không cần thiết phải làm việc như một lập trình viên hoặc viết các chương trình nhưng nó sẽ dạy bạn cách suy nghĩ.

Trong hướng dẫn VBA này, chúng tôi sẽ đề cập đến các chủ đề sau.

  • Visual Basic for Applications (VBA) là gì?
  • Tại sao VBA?
  • Ứng dụng Cá nhân & Doanh nghiệp của VBA trong Excel
  • Giới thiệu về Visual Basic cho các ứng dụng
  • Ví dụ từng bước về cách tạo một máy tính EMI đơn giản trong Excel
  • Ví dụ về VBA Excel

Visual Basic for Applications (VBA) là gì?

Visual Basic for Applications (VBA) là một ngôn ngữ lập trình hướng sự kiện được Microsoft triển khai để phát triển các ứng dụng Office. VBA giúp phát triển các quy trình tự động hóa, Windows API và các chức năng do người dùng xác định. Nó cũng cho phép bạn thao tác các tính năng giao diện người dùng của các ứng dụng chủ.

Trước khi đi vào chi tiết hơn, chúng ta hãy xem lập trình máy tính bằng ngôn ngữ của giáo dân là gì. Giả sử bạn có một người giúp việc. Nếu bạn muốn người giúp việc dọn dẹp nhà cửa và giặt giũ. Bạn cho cô ấy biết phải làm gì bằng cách sử dụng hãy nói tiếng Anh và cô ấy sẽ làm việc đó cho bạn. Khi làm việc với máy tính, bạn sẽ muốn thực hiện một số tác vụ nhất định. Giống như bạn yêu cầu người giúp việc làm việc nhà, bạn cũng có thể yêu cầu máy tính làm công việc đó cho bạn.

Quá trình nói với máy tính những gì bạn muốn nó làm cho bạn được gọi là lập trình máy tính. Cũng giống như bạn sử dụng tiếng Anh để nói với người giúp việc phải làm gì, bạn cũng có thể sử dụng tiếng Anh như các câu lệnh để cho máy tính biết phải làm gì. Câu like tiếng Anh thuộc loại ngôn ngữ cấp cao. VBA là một ngôn ngữ cấp cao mà bạn có thể sử dụng để biến sự xuất sắc thành toàn bộ ý chí mạnh mẽ của mình.

VBA thực sự là một tập hợp con của Visual Basic 6.0 BASIC là viết tắt của B eginners Một ll-Purpose S ymbolic tôi nstruction C thơ ca ngợi.

Tại sao VBA?

VBA cho phép bạn sử dụng các câu lệnh giống như tiếng Anh để viết hướng dẫn tạo các ứng dụng khác nhau. VBA rất dễ học và dễ sử dụng Giao diện người 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.

Ứng dụng Cá nhân & Doanh nghiệp của VBA trong Excel

Đối với mục đích sử dụng cá nhân, bạn có thể sử dụng nó cho các macro đơn giản sẽ tự động hóa hầu hết các tác vụ hàng ngày của bạn. Đọc bài viết về Macro để biết thêm thông tin về cách bạn có thể đạt được điều này.

Để sử dụng cho công việc, bạn có thể tạo các chương trình mạnh mẽ hoàn chỉnh được hỗ trợ bởi excel và VBA. Ưu điểm của cách tiếp cận này là bạn có thể tận dụng các tính năng mạnh mẽ của excel trong các chương trình tùy chỉnh của riêng bạn.

Giới thiệu về Visual Basic cho các ứng dụng

Trước khi chúng ta có thể viết bất kỳ mã nào, chúng ta cần biết những điều cơ bản trước. Những điều cơ bản sau đây sẽ giúp bạn bắt đầu.

  • Biến - ở trường trung học, chúng ta đã học về đại số. Tìm (x + 2y) trong đó x = 1 và y = 3. Trong biểu thức này, x và y là các biến. Chúng có thể được gán bất kỳ số nào, tức là 1 và 3 tương ứng như trong ví dụ này. Chúng cũng có thể được thay đổi thành 4 và 2 tương ứng. Các biến trong ngắn hạn là vị trí bộ nhớ. Khi bạn làm việc với VBA Excel, bạn sẽ được yêu cầu khai báo các biến giống như trong các lớp đại số
  • Quy tắc tạo biến
    • Không sử dụng các từ dành riêng - nếu bạn là sinh viên, bạn không thể sử dụng chức danh giảng viên hoặc hiệu trưởng. Các chức danh này được dành cho giảng viên và cơ quan quản lý nhà trường. Các từ dành riêng là những từ có ý nghĩa đặc biệt trong Excel VBA và do đó, bạn không thể sử dụng chúng làm tên biến.
    • Tên biến không được chứa khoảng trắng - bạn không thể xác định biến có tên là số đầu tiên. Bạn có thể sử dụng firstNumber hoặc first_number.
    • Sử dụng tên mô tả - rất hấp dẫn khi đặt tên biến theo tên chính bạn nhưng hãy tránh điều này. Sử dụng tên mô tả tức là số lượng, giá cả, tổng phụ, v.v. điều này sẽ làm cho mã VBA trong Excel của bạn dễ đọc
  • Các toán tử số học - Các quy tắc trong Dấu ngoặc của Phép cộng và Phép trừ Phép chia (BODMAS) được áp dụng vì vậy hãy nhớ áp dụng chúng khi làm việc với các biểu thức sử dụng nhiều toán tử số học khác nhau. Cũng giống như trong excel, bạn có thể sử dụng
    • + để bổ sung
    • - cho phép trừ
    • * để nhân
    • / để phân chia.
  • Toán tử logic - Khái niệm về toán tử logic được đề cập trong các hướng dẫn trước đó cũng được áp dụng khi làm việc với VBA. Bao gồm các
    • Câu lệnh if
    • HOẶC LÀ
    • KHÔNG PHẢI
    • THẬT
    • SAI

Cách bật Tab nhà phát triển

Dưới đây là quy trình từng bước về cách bật tab nhà phát triển trong Excel:

  • Tạo một sổ làm việc mới
  • Nhấp vào nút bắt đầu dải băng
  • lựa chọn các phương án
  • Nhấp vào dải băng tùy chỉnh
  • Chọn hộp kiểm dành cho nhà phát triển như được hiển thị trong hình ảnh bên dưới
  • Bấm OK

Bây giờ bạn sẽ có thể thấy tab NHÀ PHÁT TRIỂN trong ruy-băng

VBA Xin chào Thế giới!

Bây giờ chúng tôi sẽ trình bày cách lập trình bằng ngôn ngữ lập trình VBA. Tất cả chương trình trong VBA phải bắt đầu bằng "Sub" và kết thúc bằng "End sub". Đây là tên mà bạn muốn gán cho chương trình của mình. Trong khi sub là viết tắt của một chương trình con mà chúng ta sẽ tìm hiểu trong phần sau của hướng dẫn.

Sub name()… End Sub

Chúng tôi sẽ tạo một chương trình VBA cơ bản hiển thị hộp nhập liệu để hỏi tên người dùng sau đó hiển thị thông báo chào mừng

Hướng dẫn này giả sử bạn đã hoàn thành hướng dẫn về Macro trong excel và đã bật tab DEVELOPER trong excel.

  • Tạo một cuốn sách công việc mới
  • Lưu nó ở định dạng trang tính hỗ trợ macro excel * .xlsm
  • Nhấp vào tab NHÀ PHÁT TRIỂN
  • Bấm vào hộp thả xuống CHÈN bên dưới thanh điều khiển ruy-băng
  • Chọn một nút lệnh như trong hình dưới đây

Vẽ nút lệnh ở bất kỳ đâu trên trang tính

Bạn sẽ nhận được cửa sổ hội thoại sau

  • Đổi tên tên macro thành btnHelloWorld_Click
  • Bấm vào nút mới
  • Bạn sẽ nhận được cửa sổ mã VBA sau

Nhập các mã hướng dẫn sau

Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name

ĐÂY,

  • "Dim name as String" tạo một biến được gọi là tên. Biến sẽ chấp nhận văn bản, số và các ký tự khác vì chúng tôi đã xác định nó là một chuỗi
  • "name = InputBox (" Nhập tên của bạn ")" gọi hàm InputBox được tích hợp sẵn, hiển thị một cửa sổ với chú thích Nhập tên của bạn. Tên đã nhập sau đó được lưu trữ trong biến tên.
  • " MsgBox" Xin chào "+ tên" gọi hàm MsgBox tích hợp hiển thị Xin chào và tên đã nhập.

Cửa sổ mã hoàn chỉnh của bạn bây giờ sẽ trông như sau

  • Đóng cửa sổ mã
  • Nhấp chuột phải vào nút 1 và chọn chỉnh sửa văn bản
  • Nhập Nói xin chào
  • Nhấp vào Nói xin chào
  • Bạn sẽ nhận được hộp nhập sau
  • Nhập tên của bạn tức là Jordan
  • Bạn sẽ nhận được hộp thông báo sau

Xin chúc mừng, bạn vừa tạo chương trình VBA đầu tiên của mình trong excel

Ví dụ từng bước về cách tạo một máy tính EMI đơn giản trong Excel

Trong bài tập hướng dẫn này, chúng ta sẽ tạo một chương trình đơn giản để tính toán EMI. EMI là từ viết tắt của Equated Monthly Installment. Đó là số tiền bạn hoàn trả hàng tháng khi bạn nhận được một khoản vay. Hình ảnh sau đây cho thấy công thức tính EMI.

Công thức trên rất phức tạp và có thể được viết bằng excel. Tin tốt là excel đã xử lý vấn đề trên. Bạn có thể sử dụng hàm PMT để tính toán những điều trên.

Chức năng PMT hoạt động như sau

=PMT(rate,nper,pv)

ĐÂY,

  • "tỷ lệ" đây là tỷ lệ hàng tháng. Đó là lãi suất chia cho số lần thanh toán mỗi năm
  • "nper" nó là tổng số lần thanh toán. Đó là thời hạn cho vay nhân với số lần thanh toán mỗi năm
  • giá trị hiện tại "pv" . Đó là số tiền vay thực tế

Tạo GUI bằng cách sử dụng các ô excel như hình dưới đây

Thêm nút lệnh giữa hàng 7 và 8

Đặt tên macro nút btnCalculateEMI_Click

Bấm vào nút chỉnh sửa

Nhập mã sau

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi

ĐÂY,

  • "Dim month_rate As Single, ..." Dim là từ khóa được sử dụng để xác định các biến trong VBA, month_rate là tên biến, Single là kiểu dữ liệu có nghĩa là biến sẽ chấp nhận số.
  • "month_rate = Range (" B6 "). Value / Range (" B5 "). Value" Range là hàm được sử dụng để truy cập các ô excel từ VBA, Range ("B6"). Giá trị tham chiếu đến giá trị trong B6
  • "WorksheetFunction.Pmt (…)" WorksheetFunction là hàm được sử dụng để truy cập tất cả các hàm trong excel

Hình ảnh sau đây cho thấy mã nguồn hoàn chỉnh

  • Nhấp vào lưu và đóng cửa sổ mã
  • Kiểm tra chương trình của bạn như được hiển thị trong hình ảnh động bên dưới

Ví dụ về VBA Excel

Bước 1) Trong tab Nhà phát triển từ menu chính, nhấp vào biểu tượng "Visual Basic", nó sẽ mở trình chỉnh sửa VBA của bạn.

Bước 2) Nó sẽ mở một trình soạn thảo VBA, từ đó bạn có thể chọn trang tính Excel nơi bạn muốn chạy mã. Để mở trình soạn thảo VBA, hãy nhấp đúp vào trang tính.

Nó sẽ mở một trình soạn thảo VBA ở phía bên phải của thư mục. Nó sẽ xuất hiện giống như một khoảng trắng.

Bước 3) Trong bước này, chúng ta sẽ xem chương trình VBA nắm tay của chúng ta. Để đọc và hiển thị chương trình của chúng ta, chúng ta cần một đối tượng. Trong VBA đối tượng hoặc phương tiện đó trong MsgBox.

  • Đầu tiên, hãy viết "Sub" và sau đó là "tên chương trình" của bạn (Guru99)
  • Viết bất cứ thứ gì bạn muốn hiển thị trong MsgBox (guru99-learning is fun)
  • Kết thúc chương trình bằng End Sub

Bước 4) Trong bước tiếp theo, bạn phải chạy mã này bằng cách nhấp vào nút chạy màu xanh lá cây trên đầu trình đơn trình chỉnh sửa.

Bước 5) Khi bạn chạy mã, một cửa sổ khác sẽ hiện ra. Ở đây bạn phải chọn trang tính mà bạn muốn hiển thị chương trình và nhấp vào nút "Chạy"

Bước 6) Khi bạn nhấp vào nút Run, chương trình sẽ được thực thi. Nó sẽ hiển thị tin nhắn trong MsgBox.

Tải xuống mã Excel ở trên

Tóm lược

VBA Dạng đầy đủ: Visual Basic cho Ứng dụng. Đó là một thành phần phụ của ngôn ngữ lập trình cơ bản trực quan mà bạn có thể sử dụng để tạo các ứng dụng trong excel. Với VBA, bạn vẫn có thể tận dụng các tính năng mạnh mẽ của excel và sử dụng chúng trong VBA.