Thứ Tư, 27 tháng 3, 2019

Tập tành VBA: Button & MessageBox

Mục tiêu của bài này là bắt tay vào việc gõ vài dòng mã (lập trình @@) để hiên thị một cửa sổ thông báo với nội dung được truyền vào sử dụng hệ thống MessageBox (MsgBox) của Excel.

Tóm gọn:
Nhấn vào nút (Button) để kích hoạt cửa sổ thông báo (MsgBox).

Yêu cầu: Xem bài 1 và kích hoạt chế độ nhà phát triển VBA (Developer).

  • Trước tiên ta cần chèn nút vào một vị trí bất kỳ (cho nhanh) trên sheet Excel hiện tại.
    Tại tab Developer, chọn Insert Command Button, sau đó nhấn giữ chuột trái và kéo một hình chữ nhật vừa phải để tạo một nút (Button).




  • Nhấn đúp hoặc nhấn chuột phải vào nút vừa tạo (có tên CommandButton1) chọn View Code để lập trình xử lý khi nút được nhấn vào.


Lúc này trình soạn thảo VBA xuất hiện với nội dung được điền sẵn:

Private Sub CommandButton1_Click()
End Sub


Dòng Sub CommandButton1_Click() - là Excel đã khai báo tự động một thủ tục (là việc gom nhóm đoạn mã lập trình, có thể tạm hiểu như ta phân chia ra việc rửa chén sẽ gồm các thủ tục con như: tráng nước, rửa xà phòng, rửa bằng nước sạch, sẽ nói thêm sau này) có tên là CommandButton1_Click - thủ tục được gọi khi người ta nhấn vào nút này.
Việc cần làm bây giờ là lập trình thêm mã vào phần thân thủ tục, tức là phần giữa Sub và End Sub

Ta gõ MsgBox("Hi") vào thân thủ tục.


Sau khi thử gõ thêm vào thân thủ tục, kiểm tra lại nội dung soạn thảo phải như thế này:

Private Sub CommandButton1_Click()
  MsgBox ("Hi")
End Sub




  • Mở lại sheet Excel, tại tab Developer, nhấn vào nút Design Mode để tắt chế độ thiết kế (là chế độ dùng để sắp xếp, bố cục, thêm bớt các thành phần như nút,...) để đổi sang chế độ sử dụng.


  • Lúc này, ta có thể nhấn vào nút "CommandButton1" kia, sẽ có một cửa sổ hiện lên với nội dung "Hi" như ta đã lập trình.


Ok như vậy là xong bài này. Thực sự bài này rất đơn giản, ta chỉ cần rờ một chút và gõ thêm dòng MsgBox("Hi") để khi bấm nút nó hiện lên thông báo "Hi".

MsgBox là thủ tục sẵn có của Excel, nó nhận vào tham số là nội dung tin nhắn: MsgBox("Hi") - ta truyền "Hi" vào thì nó sẽ hiện cửa sổ với nội dung "Hi" lên.
Việc lập trình VBA về sau cũng tạm hiểu theo cách như vậy, ta viết các thủ tục (hoặc hàm), truyền các tham số, tính ra kết quả, thực hiện các việc này việc nọ....

Thực ra thì việc sử dụng nút trong Excel thông qua VBA như này mình nghĩ không nhiều. Tuy nhiên việc lợi dụng giới thiệu về nút (button) và lập trình một đoạn mã ngắn để chạy khi nhấn vào nút đó, mình nghĩ cũng là một cách khá phù hợp cho những người mới làm quen việc "lập trình", tức là về sau mình sẽ đi vào vấn đề chính hơn, thực tế hơn, đó là dùng VBA để chạy xử lý các tác vụ âm thầm và tự động chứ không nhất thiết là phải "bấm nút".

Trong bài mình đã khéo léo giới thiệu sơ về thủ tục (và về sau chỉ cần nói lại thêm một chút sẽ rất dễ), mình nghĩ với kiến thức hiện tại thì bài sau sẽ nên nói về biến (variable).

Hẹn gặp lại.







Không có nhận xét nào:

Đăng nhận xét