bir makro çalışırken diğer makronun çalışması durdurulabilir mi?

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
bir butona bağlayarak çalıştırdığım makrom var.

Public Sub makro1()
Range("F2:H55").ClearContents
Dim i As Date
j = 2
i = [D14]
Do While i <= [D15]
Cells(j, "F") = j - 1
Cells(j, "G") = i
Cells(j, "H") = DateSerial(Year(i), Month(i) + 1, 0)
j = j + 1
i = DateSerial(Year(i), Month(i) + 1, 1)
Loop
End Sub


sayfa aktif olunca çalışan başka bir makrom daha var.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call makro2
End Sub


makro2, sayfada bazı işlemleri kontrol eden bir kod.
makro1 çalıştığında ve gerekli tarihleri hücrelere yazdığında, hücre aktif olduğu için makro2 otomatik olarak devreye girerek işlem yapmakta.
makro1, dosya açık olduğunda 2-3 kez çalıştırılıyor ama araya makro2 de girdiğinden bazen 1-3 dakika arası bir süre beklemem gerekiyor.

makro1 çalıştırıldığında makro2 yi durduracak bir kod yazmak mümkün mü?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
san&#305;r&#305;m &#231;al&#305;&#351;an makroyu durdurman&#305;n bir yolu yok.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if run makro1 then stop makro2
Call makro2
End Sub

b&#246;yle bir komut sat&#305;r&#305; yazmak m&#252;mk&#252;n m&#252; acaba?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
g&#252;n&#252;n sorusu ve alternatif &#231;&#246;z&#252;mler ba&#351;l&#305;&#287;&#305;nda ayn&#305; soruyu sormu&#351;tum ama san&#305;r&#305;m bu ba&#351;l&#305;k alt&#305;nda de&#287;erlendirilecek soru grubuna girmedi&#287;i i&#231;in sitede yay&#305;mlanmad&#305;.
bence ilgin&#231; bir konu ve bir &#351;ekilde cevap bulunabilir diye d&#252;&#351;&#252;n&#252;yorum.
ben k&#305;s&#305;tl&#305; ecnebicemle yabanc&#305; sitelerde ara&#351;t&#305;rd&#305;m ama bi&#351;ey bulamad&#305;m. uzman arkada&#351;lar&#305;m&#305;z belki vakit bulunca ara&#351;t&#305;rma yaparlar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
A&#351;a&#287;&#305;daki gibi deneyin.

Kod:
Public deg As Integer
 
Public Sub makro1()
deg=1
Range("F2:H55").ClearContents
Dim i As Date
j = 2
i = [D14]
Do While i <= [D15]
Cells(j, "F") = j - 1
Cells(j, "G") = i
Cells(j, "H") = DateSerial(Year(i), Month(i) + 1, 0)
j = j + 1
i = DateSerial(Year(i), Month(i) + 1, 1)
Loop
deg=0
End Sub
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If deg = 0 Then Call makro2
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
&#350;&#246;yle de deneyebilirsiniz,
Kod:
Public Sub makro1()
    Application.EnableEvents = False
    Range("F2:H55").ClearContents
    Dim i As Date
    j = 2
    i = [D14]
    Do While i <= [D15]
        Cells(j, "F") = j - 1
        Cells(j, "G") = i
        Cells(j, "H") = DateSerial(Year(i), Month(i) + 1, 0)
        j = j + 1
        i = DateSerial(Year(i), Month(i) + 1, 1)
    Loop
    Application.EnableEvents = True
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Levent Mente&#351;o&#287;lu ve syn Veysel Emre, &#231;ok te&#351;ekk&#252;rler.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
makro1 çalışırken makro2 yi devreden çıkarmanın yolunu bulduk ama şimdi başka bir sorun ortaya çıktı.

makro1 çalıştığında istenen değerleri ilgili sayfanın ilgili hücrelerine yazıyor.
sayfadaki diğer hücreler yeni değerlere göre yerleşik fonksiyonlarla oluşturulan formüllerle hesap yapıyor. her hücre değeri değişiminde bütün formüller çalışmakta.
makro1 çalışırken aktif sayfadaki formüllerin hesaplanmaması için konlara nasıl bir komut satırı ilave etmek gerekir?
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub dene()
Application.Calculation = xlCalculationManual
'kodar&#305;n&#305;z
'
Application.Calculation = xlCalculationAutomatic
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Veysel Emre &#231;ok te&#351;ekk&#252;rler.
 
Üst