Nhờ giúp hướng dẫn tạo chữ chạy trong excel
Mình Đang cần làm một File có chữ chạy trong Excel.
Mình có Download được một File trong Giaiphapexcel.com nhưng không biết làm sao để làm được nó.
Mình mới tìm hiểu về VBA thôi lên chưa biết gì mong các bạn chỉ Các bạn chỉ giúp mình cụ thể từng bước được không ?.
Vì mình copi nguyên code vào trong Code Visual basic mà không được.
mình có đọc 1 số bài về VBA nhưng trong đó dường như chỉ hướng dẫn cho những người đã làm và hiểu nó còn người chưa động chạm bao giờ như mình thì chẳng thể hiểu nổi.
Mong các bạn cố gắng giúp mình.
Mình sẽ Thank nhiệt tình.
vì File đính kèm bị giới hạn số dòng và số cột các bạn chỉ giúp mình cách bỏ giới hạn đi nhé.
Chân thành cảm ơn mọi người.
Đoạn code này tương đối đơn giản mà
Bạn vẽ 1 cái nút Commandbutton1, bấm vào cái nút đó sẽ thấy có sẵn mấy dòng code thì xoá hết đi rồi copy hết code này vào
Dòng chữ muốn chạy của bạn nằm chỗ nào thì sửa lại. trong code là A6
Muốn thay đổi tốc độ chạy thì sửa số 100 thành số khác. Những thông số khác giữ nguyên
Thật ra không phải chữ chạy đâu, mà là biến mất rồi xuất hiện thôi
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
Dim Text As String
Text = Range("A6").Value
With CommandButton1
.Caption = IIf(.Caption = "Start", "Stop", "Start")
Do While .Caption = "Stop" '
Text = Mid(Text, 2, Len(Text)) & Left(Text, 1)
Range("A6") = Text
Sleep 100
DoEvents
Loop
End With
End Sub
www.giaiphapexcel.com/diendan/threads/nh%E1%BB%9D-gi%C3%BAp-h%C6%B0%E1%BB%9Bng-d%E1%BA%ABn-t%E1%BA%A1o-ch%E1%BB%AF-ch%E1%BA%A1y-trong-excel.69660/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học
Nói chung mấy cái code chạy chữ này nói dễ không dễ, nói khó không khó… Tùy trình độ mỗi người mà ta có được những đoạn code với độ phức tạp khác nhau. Đương nhiên, viết càng đơn giản thì càng có nhược điểm (chẳng hạn với code trên, nếu chữ đang chạy mà ta gõ gì đó vào 1 cell thì nó sẽ.. tịt)
Vậy nên, nếu mới học VBA thì thôi đừng suy nghĩ đến món "chơi" này chi cho mất công —> Khi nào "no đủ" rồi hẳn tính
Ẹc… Ẹc…
Dùng Sub Auto_Open mà chạy thôi
Có điều tôi sẽ giới thiệu các bạn 1 code khác tối ưu hơn rất nhiều
Tối ưu ở chổ: Lúc chữ chạy, ta làm gì cứ việc làm và nó vẫn chạy mà không ảnh hưởng tí nào công việc của mình —> Thử lại file ở bài 1, lúc nó chạy, thậm chí ta không thể format cell hay làm quái gì được cả
Code trong module
Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As Long
Sub StartTimer()
StopTimer
SetTimer Application.hWnd, 1, 100, AddressOf TimeProc
End Sub
Sub StopTimer()
KillTimer Application.hWnd, 1
End Sub
Private Function TimeProc()
Dim Text As String
On Error Resume Next
With Sheet1
Text = .Range("A6").Value
Text = Mid(Text, 2, Len(Text)) & Left(Text, 1)
.Range("A6") = Text
.Shapes("WordArt1").IncrementRotation 2
.Range("A3") = Now
End With
End Function
Sub Auto_Open()
StartTimer
Sheet1.CommandButton1.Caption = "Stop"
End Sub
Sub Auto_Close()
StopTimer
Sheet1.CommandButton1.Caption = "Start"
End Sub