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

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.


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.