Bài viết được tư vấn chuyên môn bởi ông Võ Văn Hiếu – Giám đốc kỹ thuật của Trung tâm sửa chữa điện lạnh – điện tử Limosa.
Nếu bạn đã thực hiện rất nhiều công việc trong Excel, nhưng chưa chắc biết tạo menu chuyển động. Trong bài viết dưới đây Limosa sẽ giới thiệu chi tiết đến bạn cách tạo menu chuyển động đẹp trong Excel sử dụng VBA. Mời bạn đọc cùng theo dõi nhé!
MỤC LỤC
Cách 1:
Để tạo menu chuyển động đẹp trong Excel sử dụng VBA, ta có thể thực hiện theo các bước sau:
- Tạo một bảng tính mới trong Excel, sau đó chèn một hình ảnh nền cho menu vào bảng tính đó.
- Mở Visual Basic Editor bằng cách nhấn phím Alt + F11.
- Chọn Menu “Insert” -> “Module” để tạo một Module mới.
- Khai báo biến và định nghĩa các hằng số cho menu chuyển động trong Module đó.
Ví dụ:
Dim Cell As Range
Const MaxRows = 4
Const MaxCols = 4
- Viết mã VBA để tạo menu chuyển động. Mã VBA có thể được thiết kế để tạo một phím điều khiển để kích hoạt menu, hoặc có thể chạy tự động đầu tiên khi bảng tính được mở.
Ví dụ:
Sub Animate_Menu()
Set Cell = ActiveSheet.Range(“B2”)
For i = 1 To MaxRows
For j = 1 To MaxCols
If Cell.Left <> ActiveSheet.Cells(1, 1).Left Then
Cell.Left = Cell.Left – 15
End If
Application.Wait Now + TimeValue(“0:00:01”)
If Cell.Top <> ActiveSheet.Cells(1, 1).Top Then
Cell.Top = Cell.Top – 5
End If
Application.Wait Now + TimeValue(“0:00:01”)
If Cell.Width <> ActiveSheet.Cells(1, 1).Width Then
Cell.Width = Cell.Width + 15
End If
Application.Wait Now + TimeValue(“0:00:01”)
If Cell.Height <> ActiveSheet.Cells(1, 1).Height Then
Cell.Height = Cell.Height + 5
End If
Application.Wait Now + TimeValue(“0:00:01”)
Next j
Cell.Offset(1, -MaxCols).Select
Set Cell = ActiveCell
Next i
End Sub
- Lưu lại mã VBA và đóng Visual Basic Editor. Sau đó, quay lại bảng tính.
- Thêm một nút ActiveX vào bảng tính và gán mã VBA cho sự kiện Click của nút đó. Khi người dùng nhấn vào nút đó, menu chuyển động sẽ được hiển thị trên bảng tính.
Ví dụ:
Chọn Menu “Developer” -> “Insert” -> “Command Button”.
Thay đổi nội dung văn bản của nút (có thể để là “Hiển thị Menu” hoặc tùy ý).
Chuột phải vào nút đó và chọn “View Code”.
Khi trình biên dịch mã VBA xuất hiện, sao chép và dán mã VBA ở bước trên vào đó.
Sau đó, quay lại bảng tính và chạy menu chuyển động bằng cách nhấn nút đó.
Chú ý rằng phương pháp này có thể tạo ra các menu linh hoạt hơn và có thể tùy chỉnh được hơn so với các phương pháp khác.
Để tạo menu chuyển động đẹp trong Excel sử dụng VBA là sử dụng ActiveX Animation Control. Các bước thực hiện như sau:
Tạo một bảng tính mới trong Excel.
Chọn menu Developer -> Insert -> ActiveX Control -> Microsoft Animation Control.
Thể hiện hoạt hình trong control. Để làm điều này, theo hướng dẫn sau đây:
a. Chọn component vừa được chèn vào vùng làm việc.
b. Chọn menu Properties (phải bên hơn).
c. Thiết lập những thuộc tính sau:
– Backstyle là 0 – Transparent.
– Repeat là -1 – Forever.
– FrameRate là 20.
Tạo một hình ảnh mới với nền trong suốt và biên dạng sản phẩm cho từng chức năng được thiết kế trong menu.
Chọn menu Developer -> Insert -> Picture -> From File… và chèn hình ảnh vào control.
Điều chỉnh vị trí hình ảnh bằng cách thay đổi giá trị của thuộc tính Top và Left trong Properties.
Chỉnh sửa mã VBA để kích hoạt menu khi hình ảnh được click. Ví dụ:
Private Sub Animation1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Alert_Menu.Show
End Sub
‘ Trong đó, Alert_Menu là một UserForm để hiển thị các chức năng của menu.
Lưu lại mã VBA và đóng Visual Basic Editor. Quay lại bảng tính và kiểm tra kết quả.
Chú ý rằng khi sử dụng ActiveX Animation Control, bạn cần kiểm tra lại các thuộc tính và chọn những giá trị phù hợp với hình ảnh được sử dụng.
Cách thứ 3 là sử dụng các UserForm và hình ảnh thông qua thư viện đồ họa. Các bước thực hiện như sau:
Tạo một UserForm mới trong Excel.
Chèn một hình ảnh nền cho menu vào UserForm. Nơi đây, bạn có thể sử dụng các chức năng hoạt hình theo nhu cầu.
Thêm các điều khiển ActiveX vào UserForm để hiển thị các chức năng của menu. Các điều khiển có thể là các nút bấm, ảnh, v.v.
Viết mã VBA để thiết lập hình ảnh và điều khiển cũng như các chức năng của menu. Mã VBA có thể được sử dụng để cho phép các chức năng hoạt hình trông chuyển động mượt mà hơn.
Liên kết mã VBA với các sự kiện của các điều khiển trong UserForm. Các sự kiện bao gồm sự kiện Click, sự kiện MouseOver, v.v.
Lưu lại mã VBA và đóng Visual Basic Editor. Quay lại UserForm và kiểm tra kết quả.
Chú ý rằng khi sử dụng các UserForm, bạn cần kiểm tra lại các thuộc tính và kết hợp với các hàm thư viện đồ họa để tạo ra các chức năng động cho menu. Tuy nhiên, phương pháp này cho phép bạn tạo ra các menu linh hoạt hơn và có thể tùy chỉnh được hơn so với các phương pháp khác
Trên đây là cách tạo menu chuyển động đẹp trong Excel sử dụng VBA. Hy vọng bài viết Trung tâm sửa chữa điện lạnh – điện tử Limosa giúp bạn thực hiện được trong công việc cũng như học tập và nếu bạn có góp ý hãy liên hệ chúng tôi qua HOTLINE 1900 2276 nhé.