Cũng khá đơn giản thôi! Vẽ 1 CommandButton rồi chèn code này vào:Rất mong các anh giúp dùm em cho chữ chạy trên trang excell
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
With CommandButton1
.Caption = IIf(.Caption = "Start", "Stop", "Start")
Do
Sheet1.Shapes("WordArt 1").IncrementRotation 10
Sleep 20
DoEvents
Loop Until .Caption = "Start"
End With
End Sub
Cảm ơn, anh nhiều, nhưng ý em là khi mở trang excell này lên thì chữ đó tự chạy luôn anh àh. Vậy anh có thể giúp dùm em thêm lần nữa được chứ, thank youCũng khá đơn giản thôi! Vẽ 1 CommandButton rồi chèn code này vào:
Tạm chạy vậy thôi chứ code này chưa phải là tối ưuPHP:Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Sub CommandButton1_Click() With CommandButton1 .Caption = IIf(.Caption = "Start", "Stop", "Start") Do Sheet1.Shapes("WordArt 1").IncrementRotation 10 Sleep 20 DoEvents Loop Until .Caption = "Start" End With End Sub
Bạn khai báo hàm Sleep ở trên sao không xài vào code? Nó không Delay nên chạy "mút tầm" là phải rồiEm tìm trên diễn đàn code của ndu và em xl có chỉnh sửa lại nhưng thời gian chữ chạy rất nhanh. Vậy em xin nhờ các anh gán cho em thêm thời gian chạy liên tục dùm. cảm ơn
Option Explicit
Private Declare Sub Sleep Lib "kerne123" (ByVal dwMilliseconds As Long)
Private Sub workbook_open()
Dim Text As String
Text = Range("A6").Value
Text = Mid(Text, 2, Len(Text)) & Left(Text, 1)
Range("A6") = Text
Sheet1.Shapes("WordArt1").IncrementRotation (3)
End Sub
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Workbook_Open()
Dim Text As String
Do
Text = Range("A6").Value
Text = Mid(Text, 2, Len(Text)) & Left(Text, 1)
Range("A6") = Text
Sheet1.Shapes("WordArt 1").IncrementRotation 3
Sleep 100
DoEvents
Loop Until Sheet1.Range("A1") = 1
Sheet1.Shapes("WordArt 1").Rotation = 0
End Sub
Hic... Trong code ghi là WordArt 1 (có khoảng trắng)... còn thực tế trên sheet, cái hình ấy có tên là WordArt1 ---> Khác tên nên nó không tìm thấy và báo lỗi là phải rồi còn gìSao nó bị lỗi vậy hé anh.
Bất cứ 1 đối tượng nào đều có 1 cái tên. Tên ấy thể hiện ở hộp NameBoxDạ cho em hỏi, dựa vào đâu mà biết được tên Wordart1, Wordart2,Wordart3..... và Wordart 1,Wordart 2,Wordart 3...vậy anh. Cảm ơn anh nhiều
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
Private Sub CommandButton1_Click()
With Sheet1.CommandButton1
Run IIf(.Caption = "Start", "StartTimer", "StopTimer")
.Caption = IIf(.Caption = "Start", "Stop", "Start")
End With
End Sub
Code của bạn mở form bằng đoạn code UserForm1.Show và code này đặt trong sự kiện Workbook_OpenCảm ơn anh nhiều, cho em hỏi, làm sao khi mở file lên thì vừa hiện form đăng nhập và form đăng nhập này thoát đi thì tiếp tục tự động chữ chạy được. File gữi kèm chữ không tự động chạy mà phải nhấp vào nút. Xin anh chị giúp dùm. Cảm phiền minhthien321 vì mượn file anh làm vd.
Sub Auto_Open()
StartTimer
Sheet2.CommandButton1.Caption = "Stop"
UserForm1.Show
End Sub