mencegah menjalankan beberapa instanes makro

0

"Bagaimana cara menghindari Menjalankan Banyak contoh makro"

Sub CallBot()
    If Activesheet.Range("A1").Value = 1 Then
        Call Bot
    ElseIf Activesheet.Range("B1").Value = 1 Then 
        Call BotTwo
    End If
    Application OnTime + TimeValue("00:01:00")
End Sub

Ini mengarah ke beberapa contoh CallBot Running (perulangan), tetapi saya ingin menjalankannya setiap satu menit saja, tolong bantu

Juga mencoba kode berikut

Sub CallBot()
    Dim TimeToRun
    If Activesheet.Range("A1").Value = 1 Then
        Call Bot
    ElseIf Activesheet.Range("B1").Value = 1 Then 
        Call BotTwo
    End If
    Application OnTime + TimeValue("00:01:00")
End Sub

Sub Repeat()
    If TimeToRun > 0 Then
        Application.OnTime TimeToRun, "CallBot", False
    End If

    TimeToRun = Now + TimeValue("00:00:20")
    Application.OnTime TimeToRun, "CallBot"
End Sub
Madhukar Jadhav
sumber

Jawaban:

0

Cukup tetapkan variabel global yang melacak apakah bot dijadwalkan berjalan:

Public botScheduled As Boolean

Sub CallBot()
    If not botScheduled Then
        If Activesheet.Range("A1").Value = 1 Then
            Call Bot
            botScheduled = True
        ElseIf Activesheet.Range("B1").Value = 1 Then 
            Call BotTwo
            botScheduled = True
        End If
    End If
End Sub

Anda belum memberikan Botkode Anda , tetapi ketika kode bot Anda selesai, di situlah Anda dapat mengatur botScheduled = False.

PeterT
sumber
saya sangat menyesal, ini bukan Bot yang menjalankan beberapa kali CallBot-nya yang terus berulang dalam beberapa kasus, jadi 'bot' disebut beberapa kali!
Madhukar Jadhav