Belirli Aralıklarla Makro Çalıştırma(Dış Veri Al Yöntemi İle)

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Üyelerimizden belirli aralıklarla makro çalıştırma konusunda sıkça sorular soruluyor. Bu soruların belirli standartlarda cevapları var.
Do-Loop döngüsüyle veya "Application.Wait" yöntemiyle çözümler bulunabiliyor. Ancak bu yöntemlerin arka planda sürekli çalışan bir makro olması gibi dezavantajları var. Bunun için "Dış Veri Al" yöntemiyle dakika aralıklı bir yöntem geliştirdim. Eklediğim kodlar 1 dakika aralıkla çalışmaya ayarlandı.
Kod:
Sub Dısverial()
Set Aktif_Sayfa = ActiveSheet
Sheets("İslem_Sayfasi").Select
On Error GoTo son
Application.EnableEvents = False
Sheets("İslem_Sayfasi").Columns(1).Delete
yol = Environ("temp") & "\leumruk.txt"
    With ActiveSheet.QueryTables.Add("TEXT;" & yol, Range("$A$1"))
        .Name = "leumruk"
        .FieldNames = True
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SaveData = True
        .RefreshPeriod = 1
        .TextFilePromptOnRefresh = False
        .TextFileStartRow = 1
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
son:
Application.EnableEvents = True
Aktif_Sayfa.Select
End Sub
Alternatif Link: Tıklayınız...
 

Ekli dosyalar

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,469
Excel Vers. ve Dili
Office 2010 & 2013 tr
Eklediğim dosyayı güncelledim. Alternatif olarak bir de text dosyası kullanarak işlem yapan bir örnek ekledim.
Bu yöntemin avantajı arka, planda çalışan bir makronun olmaması.
Olumsuz yönü sadece dakika aralıklı çalışması, saniyeye yer vermemesi...
 
Üst