Phương pháp 1 – Hoạt ảnh văn bản cuộn (Scrolling Text Animation)

- Mở cửa sổ Visual Basic bằng cách nhấn Alt + F11.
- Chèn mô-đun mới: vào Insert (Chèn) và nhấp Module.

- Sao chép mã sau và dán vào mô-đun mới:
' Scrolling Text (Văn bản cuộn)
Sub Start_Text_Scroll()
My_Value = ActiveSheet.Range("C4").Value
Final_Value = WorksheetFunction.Rept(My_Value, 1)
Do
For initial = 1 To Len(Final_Value)
Length = Len(Final_Value) - 1
DoEvents
For AA = 1 To 10000000
AA = AA + 1
Next
Range("B6") = Mid(Final_Value, initial, Length) & Left(Final_Value, initial - 1)
Next
Loop
End Sub
Sub Stop_Scrolling()
End
End Sub

️ Giải thích mã:
- Thủ tục Start_Text_Scroll cuộn văn bản lưu trong ô C4.
- Tạo một vòng lặp dịch chuyển văn bản từ trái sang phải.
- Điều chỉnh tốc độ bằng cách thay đổi giá trị của AA (vòng lặp delay).
- Để dừng cuộn, dùng thủ tục Stop_Scrolling.
- Thêm nút bấm Start/Stop:
- Chèn hình dạng (ví dụ: hình chữ nhật) từ thẻ Insert.

- Nhập Start Scrolling vào một hình dạng.

- Gán macro Start_Text_Scroll cho hình dạng này.

- Nhấp OK.

- Lặp lại cho nút Stop Scrolling (gán macro Stop_Scrolling).

- Sử dụng các nút để bắt đầu và dừng cuộn văn bản.

Phương pháp 2 – Văn bản nhấp nháy (Blinking Animated Text)
- Vẽ Text Box (Hộp văn bản)
- Vào thẻ Insert, chọn Text (Văn bản) và nhấp Text Box.

- Vẽ một text box kích thước tùy ý.

- Nhập văn bản bạn muốn làm nhấp nháy.

- Thêm Text Box trống
- Tạo thêm các text box cùng hình dạng, kích thước.

- Đổi tên Text Box
- Đổi tên các text box lần lượt: TextBox 1, TextBox 2, ...

- Chồng chéo Text Box (Overlay)
- Sắp xếp tất cả text box chồng lên nhau so cho trông như một hộp duy nhất.

- Mã VBA
- Mở trình soạn thảo VBA (Alt + F11).
- Chèn mô-đun mới (Insert > Module).

- Nhập mã sau:
Sub Blink()
On Error GoTo skip
Do While Range("B4").Value = "Blink"
For txtbx = 1 To 5
ActiveSheet.Shapes("TextBox " & txtbx).ZOrder msoBringToFront
DoEvents
Next txtbx
Loop
skip:
ActiveSheet.Shapes("TextBox 1").ZOrder msoBringToFront
Exit Sub
End Sub

️ Giải thích mã:
- Thủ tục Blink đưa các text box lên mặt trước lần lượt (từ TextBox 1 đến TextBox 5) dùng lệnh ZOrder.
- Xử lý lỗi đảm bảo TextBox 1 luôn hiển thị khi dừng.
- Mã sự kiện Worksheet (Worksheet Code)
- Trong mã của Sheet (chuột_right tab Sheet > View Code), nhập:
Private Sub Worksheet_Change(ByVal Tgt As Range)
If Tgt.Address = Range("B4").Address Then
Call Blink
End If
End Sub

️ Giải thích mã:
- Khi có dữ liệu nhập vào ô B4, Excel gọi mô-đun Blink.

Lưu ý quan trọng
- Ở phương pháp 2, nhớ đổi tên và căn chỉnh đúng các Text Box để hoạt ảnh mượt mà.
Tải tệp thực hành
Bạn có thể tải tệp thực hành từ đây:
Các bài viết liên quan
- Cách tạo Biểu đồ thanh đua (Animated Bar Chart Race) trong Excel
- Cách tạo Biểu đồ hoạt ảnh (Animated Charts) trong Excel
- Hoạt ảnh VBA trong UserForm
Nhận miễn phí Bài tập Excel nâng cao có lời giải!