Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để lặp lại hoặc lặp lại một Macro sau mỗi X phút trong Excel?

Trong khi làm việc với Microsoft Excel, bạn có thể cần tạo Macro để đạt được một số hoạt động. Ví dụ: bạn muốn tạo Macro để tự động sao chép một loạt dữ liệu sang một nơi mới. Vì dữ liệu sẽ được thay đổi thường xuyên, bạn cần Macro này tự động chạy 5 phút một lần mà không cần kích hoạt thủ công để đồng bộ hóa hai dải dữ liệu này. Làm thế nào để đạt được nó? Phương pháp trong bài viết này có thể giúp bạn.

Lặp lại hoặc lặp lại một Macro sau mỗi X phút trong Excel


Lặp lại hoặc lặp lại một Macro sau mỗi X phút trong Excel

Mã VBA sau có thể giúp bạn lặp lại Macro sau mỗi X phút trong Excel. Hãy làm như sau.

1. nhấn Khác + F11 chìa khóa cùng một lúc để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng nhấp vào Chèn > Mô-đun. Sau đó sao chép và dán mã VBA bên dưới vào cửa sổ. Xem ảnh chụp màn hình:

Mã VBA: Lặp lại hoặc lặp lại một Macro sau mỗi X phút trong Excel

Sub ReRunMacro()
Dim xMin As String

'Insert your code here
    xMin = GetSetting(AppName:="Kutools", Section:="Macro", Key:="min", Default:="")
    If xMin = "Exit" Then
    SaveSetting "Kutools", "Macro", "min", "False"
    Exit Sub
    End If
    If (xMin = "") Or (xMin = "False") Then
      xMin = Application.InputBox(prompt:="Please input the interval time you need to repeat the Macro", Title:="Kutools for Excel", Type:=2)
      SaveSetting "Kutools", "Macro", "min", xMin
    End If
    If (xMin <> "") And (xMin <> "False") Then
      Application.OnTime Now() + TimeValue("0:" + xMin + ":0"), "ReRunMacro"
    Else
      Exit Sub
    End If
End Sub

Chú thích: Trong mã, vui lòng thay thế dòng này 'Chèn mã của bạn ở đây với mã bạn sẽ chạy X phút một lần.

3. Nhấn nút F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, vui lòng nhập khoảng thời gian bạn sẽ lặp lại macro dựa trên, sau đó nhấp vào OK cái nút. Xem ảnh chụp màn hình:

Từ bây giờ, Macro nhất định sẽ chạy lặp lại sau mỗi 5 phút trong sổ làm việc của bạn.

Chú thích: Nếu bạn cần dừng thực thi macro và thay đổi khoảng thời gian của chu kỳ, vui lòng sao chép mã VBA dưới đây vào cùng một Mô-đun cửa sổ và nhấn F5 phím để chạy mã. Khi đó Macro sẽ bị dừng, vui lòng chạy lại đoạn mã trên để chỉ định khoảng thời gian mới.

Mã VBA: Dừng thực thi macro

Sub ExitReRunMacro()
SaveSetting "Kutools", "Macro", "min", "Exit"
End Sub

Tab văn phòng - Duyệt theo tab, chỉnh sửa và quản lý sổ làm việc trong Excel:

Office Tab mang đến giao diện tab như được thấy trong các trình duyệt web như Google Chrome, Internet Explorer phiên bản mới và Firefox cho đến Microsoft Excel. Nó sẽ là công cụ tiết kiệm thời gian và không thể thay thế trong công việc của bạn. Xem demo dưới đây:

Nhấp để dùng thử Office Tab miễn phí!

Tab Office cho Excel


Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (31)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt vời! Làm thế nào để tôi dừng vòng lặp sau khi nói 10 lần?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Bạn có thể vào cửa sổ Mã để ngắt mã (nhấp vào nút Break) theo cách thủ công để dừng vòng lặp.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt! Tôi không hiểu cách ngắt mã macro để đặt lại thời gian thực thi vòng lặp. Bạn có thể mô tả chi tiết hơn cách thực hiện điều này không? Giá trị của thời gian chu kỳ chạy được ghi ở đâu?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Jack,
Lỗi của tôi.
Mã VBA mới có thể dừng macro đã được thêm vào cuối bài viết. Xin vui lòng có một thử. Cảm ơn bình luận của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì điều này, làm việc một điều trị. Tôi là một người mới làm quen với lập trình vì vậy xin hãy tha thứ cho tôi nếu điều này là đơn giản ...

Làm cách nào để hộp thoại xuất hiện trở lại? Tôi có nó bị mắc kẹt trên một vòng lặp 1 phút. Thanks.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ngày tốt,
Chỉ cần phá vỡ mã và chạy lại.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi!
Điều này thật tuyệt, nhưng có cách nào để khiến nó lặp lại hàng đầu tiên của bảng tính trước khi bắt đầu lại không?


Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cho tôi biết thêm làm thế nào để dừng việc thực thi macro và thay đổi khoảng thời gian của chu kỳ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cho tôi biết thêm làm thế nào để dừng việc thực thi macro và thay đổi khoảng thời gian của chu kỳ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Dữ liệu tốt,
Mã VBA mới có thể dừng macro đã được thêm vào cuối bài viết. Xin vui lòng có một thử. Cảm ơn bình luận của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Vui lòng cung cấp Mã cho:


"Cách lặp lại hoặc lặp lại một Macro sau mỗi X Giây trong Excel"


Cảm ơn bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Vui lòng thay đổi dòng "Application.OnTime Now () + TimeValue (" 0: "+ xMin +": 0 ")," ReRunMacro "" thành
Application.OnTime Now () + TimeValue ("0:" + "0:" + xMin), "ReRunMacro"
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
ê
Tôi có một truy vấn, mã của bạn hoạt động hoàn toàn tốt và sao chép dữ liệu trong các cột tiếp theo của tôi cứ 5 phút một lần nhưng sau 3 giờ, tất cả các cột của tôi đầy vì nó là 2003 excel. Bạn có thể vui lòng giúp tôi một mã để kiểm tra xem không có cột nào khác bị trống sau đó tạo một trang tính mới và sao chép dữ liệu dán vào trang tính đó
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Chỉ cần giúp tôi về "chèn mã của bạn ở đây". Tôi là người mới và cần trợ giúp về những gì cần điền và làm thế nào! Cảm ơn tôi không hiểu đúng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Padma,
"Chèn mã của bạn ở đây" cho biết mã VBA bạn sử dụng để đạt được một số hoạt động trong Excel. Giả sử bạn cần áp dụng VBA để di chuyển một hàng sang trang tính khác dựa trên một giá trị cụ thể và muốn chạy mã tự động X phút một lần, bạn cần đặt mã VBA tại đây.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đã nhầm lẫn và đặt thời gian là 0.5 và bây giờ tôi không thể điều chỉnh nó, bất kỳ ý kiến ​​làm thế nào để thay đổi Cài đặt xMin?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào David.

Như chúng tôi đã đề cập ở cuối bài viết, nếu bạn cần dừng thực thi macro và thay đổi khoảng thời gian của chu kỳ, vui lòng sao chép mã VBA bên dưới vào cùng cửa sổ Mô-đun và nhấn phím F5 để chạy mã. Sau đó Macro sẽ bị dừng, vui lòng chạy lại đoạn mã trên để chỉ định khoảng thời gian mới.



Sub ExitReRunMacro ()

Lưu Đặt "Kutools", "Macro", "tối thiểu", "Thoát"

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Này cảm ơn nhé! nhưng tôi sợ marco doenst thậm chí còn chạy, khi tôi nhấn F5 excel gửi cho tôi thông báo lỗi này: Lỗi thời gian chạy 13 'Gõ Missmatch ".



Tôi đã xóa nó, nhưng nếu tôi cố gắng tạo lại thì thông báo lỗi tương tự xuất hiện, suy đoán duy nhất của tôi là tôi đã đặt thời gian là 0.5 và trong mã, vì vậy không biết làm thế nào để sửa đổi nó bây giờ.



Cảm ơn một lần nữa vì sự giúp đỡ của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, rất hữu ích, tuy nhiên tôi nghĩ rằng tôi đã nhầm lẫn và đặt thời gian là 0.5 và bây giờ tôi không thể theo dõi nó, bất kỳ ý tưởng nào về cách thay đổi Cài đặt xMin?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cách tạo macro trong excel với vòng lặp liên tục và phím được nhấn sẽ chỉ pg lên và pg xuống
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Jack, Do nhầm lẫn, tôi đã nhập 0.5 phút và nó hiển thị lỗi,
Ý tôi là xMin được tính là 0.5 phút.
Làm thế nào để thoát khỏi và thay đổi nó thành 1 phút?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào LIMCA,
Xin lỗi vì sự bất tiện. Mã không hỗ trợ nhập số thập phân.

Vui lòng dừng vòng lặp bằng cách chạy mã VBA bên dưới, sau đó chạy lại mã lặp và nhập 1 vào hộp thoại bật lên.

Sub ExitReRunMacro ()

Lưu Đặt "Kutools", "Macro", "tối thiểu", "Thoát"

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang dán mã bên dưới, trong đó tôi đã thay thế dòng để nhập mã bằng mã của mình. Lỗi tôi đang nhận được là- Lỗi biên dịch: Dự kiến ​​kết thúc Sub. Giúp đỡ một cách tử tế.

Sub ReRunMacro ()
Làm mờ xMin thành chuỗi
Làm mới phụ ()
'
'Làm mới Macro
'

'
Trang tính ("Trang tính1"). Chọn
ActiveWorkbook.RefreshAll
Trang tính ("Pivot-Dash"). Chọn
End Sub


xMin = GetSetting (AppName: = "Kutools", Phần: = "Macro", Key: = "min", Mặc định: = "")
If xMin = "Exit" Sau đó
Lưu Đặt "Kutools", "Macro", "tối thiểu", "Sai"
Thoát Sub
Cuối Nếu
Nếu (xMin = "") Hoặc (xMin = "Sai") Thì
xMin = Application.InputBox (nhắc: = "Vui lòng nhập khoảng thời gian bạn cần lặp lại Macro", Tiêu đề: = "Kutools cho Excel", Loại: = 2)
Lưu Đặt "Kutools", "Macro", "min", xMin
Cuối Nếu
Nếu (xMin <> "") Và (xMin <> "Sai") Thì
Application.OnTime Now () + TimeValue ("0:" + xMin + ": 0"), "ReRunMacro"
Khác
Thoát Sub
Cuối Nếu
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chúc một ngày tốt lành, Bạn cần xóa dòng Phụ và dòng Phụ cuối khỏi mã của mình. Làm mới phụ ()
'
'Làm mới Macro
'

'
Trang tính ("Trang tính1"). Chọn
ActiveWorkbook.RefreshAll
Trang tính ("Pivot-Dash"). Chọn
End SubChange thành: '
'Làm mới Macro
'

'
Trang tính ("Trang tính1"). Chọn
ActiveWorkbook.RefreshAll
Trang tính ("Pivot-Dash"). Chọn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có cách nào dừng macro khi tắt tệp và macro tự động khởi động lại khi mở lại tệp không thêm
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trong Excel 365, tôi gặp lỗi Thời gian chạy '13' Nhập không khớp trên dòng sau: Application.OnTime Now () + TimeValue ("0:" + "0:" + xMin), "ReRunMacro"
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Ron Franklin, tôi đã thử nó trong Excel 365, nhưng không thể tái tạo sự cố này. 
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Lỗi biên dịch:

Dự kiến ​​Kết thúc Sub

Mam przekopiowane dokładnie jak jest napisane wyzej i nie moge odnaleźć problemu
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Pawid,
Bạn có thể cung cấp ảnh chụp màn hình của lỗi và hàng được đánh dấu trong mã vba không? Vấn đề không thể được tái tạo trong trường hợp của tôi. Xin lỗi vì sự bất tiện.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
klo mengulang Makro sebanyak 3 kali, atau seberapa kali yang kita mau, itu gi mana yahh ? trima kasih sebelumny...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Rizal,

Mã VBA sau đây có thể trợ giúp. Xin vui lòng cung cấp cho nó một thử. Cảm ơn.
Lưu ý: Trong mã, bạn cần định cấu hình các dòng sau để đáp ứng nhu cầu của mình:
1) Trong dòng này: Nếu Val(xNum) = 3 Thì
Ở đây số 3 đại diện cho số lần bạn muốn lặp lại macro. Sau ba lần lặp, macro sẽ dừng lại. Hãy thay đổi nó thành số lần bạn cần.
2) Trong dòng này: Application.OnTime Now() + TimeValue("0:" + "0" + ":10"), "ReRunMacro"
Số 10 ở đây có nghĩa là macro sẽ lặp lại sau mỗi 10 giây. Bạn có thể chỉ định giờ, phút và giây khi cần.
Sub ReRunMacro()
'Updated by Extendoffice 20230203
Dim xMin As String
Dim xNum As String
'Insert your code here

Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim J As Long
    Dim K As Long
    I = Worksheets("Sheet1").UsedRange.Rows.Count
    J = Worksheets("Sheet2").UsedRange.Rows.Count
    If J = 1 Then
    If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
    End If
    Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
    On Error Resume Next
    Application.ScreenUpdating = False
    For K = 1 To xRg.Count
        If CStr(xRg(K).Value) = "Done" Then
            xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
            J = J + 1
        End If
    Next
    Application.ScreenUpdating = True

    xMin = GetSetting(AppName:="Kutools", Section:="Macro", Key:="min", Default:="")
    xNum = GetSetting(AppName:="Kutools", Section:="Macro", Key:="Num", Default:="")
    If xMin = "Exit" Then
    SaveSetting "Kutools", "Macro", "min", "False"
    Exit Sub
    End If
    
    If xNum = "" Then xNum = "1"
    If Val(xNum) = 3 Then 'Here the number 3 represents the number of times you want to repeat the macro. After three times looping, the macro will stop
        xNum = 1
        SaveSetting "Kutools", "Macro", "Num", "1"
        Application.OnTime EarliestTime:=TimeValue("17:00:00"), Procedure:="ReRunMacro", Schedule:=False
        Exit Sub
    End If
    xNum = Str(Val(xNum) + 1)
    SaveSetting "Kutools", "Macro", "Num", xNum

    If (xMin = "") Or (xMin = "False") Then
      xMin = Application.InputBox(prompt:="Please input the interval time you need to repeat the Macro", Title:="Kutools for Excel", Type:=2)
      SaveSetting "Kutools", "Macro", "min", xMin
    End If
    
    If (xMin <> "") And (xMin <> "False") Then
      Application.OnTime Now() + TimeValue("0:" + "0" + ":10"), "ReRunMacro" 'The number 10 here means that the macro will repeat every 10 seconds. You can specify the hours, minutes and seconds as you need.
    Else
      Exit Sub
    End If
End Sub
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL