Döngüde Çalışan Makronun Sürekli Çalışması

Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Merhaba değerli üstatlar..
Ekte yer alan örnek dosyamda "rastgele hücre seçimi" yapan bir makro var ve bu makro henüz daha işim bitmeden kısa sürede duruyor. Dosya içeriği karışık olduğu için ben sadece hücre seçimi ile ilgili kısmı örnek olarak hazırladım. İstediğim şu; bu makro ben müdahale etmediğim sürece durmasın en azından 5 dakika bile devam etse o zamana kadar koşullar sağlanmış olur. Yardımcı olabilecek hocalarımdan rica ediyorum. sağlıcakla kalın..

 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şartların ne olduğunu bilmediğimiz için yorum yapamam ancak belirli bir şart oluncaya kadar makronun çalışmasını istiyorsanız do loop veya do until loop döngülerini incelemenizi tavsiye ederim.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Şartların ne olduğunu bilmediğimiz için yorum yapamam ancak belirli bir şart oluncaya kadar makronun çalışmasını istiyorsanız do loop veya do until loop döngülerini incelemenizi tavsiye ederim.
Hocam aslında rastgele hücre seçim aralığı daha uzun ve seçilen hücrede belirli koşullar sağlandığı takdirde o hücrelere bir değer yazdırıyorum. Fakat koşullarda çelişki olmadığı halde kod işini bitirmeden duruyor. Bu bahsettiğiniz do loop veya do until loop döngüyü aşağıdaki koda nasıl uyarlayabilirim. Ya da belirtilen aralıktaki sadece boş hücreleri seçebileceğim bir kod olursa belki işimi görebilir.

Sub çalıştır()
On Error Resume Next

Dim RNG As Range
Set RNG = Range("A1:p1")
Dim randomCell As Long
randomCell = Int(Rnd * RNG.Cells.Count) + 1
With RNG.Cells(randomCell)
.Select
çalıştır
End With
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Makro ne zaman duracağını nasıl bilecek?
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Makro ne zaman duracağını nasıl bilecek?
hocam haklısınız zaten sonsuza kadar döngüde kalmayacak belirtilen koşulları sağlayan hücrelere değeri atayıncaya kadar sadece ama en azından örnek dosyadaki makroyu çalıştırınca mevcut sürenin 10 katı kadar çalışsa yeterli olur
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şartlar devlet sırrı galiba :)
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Do until kullanımı ş
Rich (BB code):
Sub çalıştır()
On Error Resume Next

Dim RNG As Range
Set RNG = Range("A1:P1")
Dim randomCell As Long
Do until şu şart gerçeklecince
    randomCell = Int(Rnd * RNG.Cells.Count) + 1
    With RNG.Cells(randomCell)
        .Select
    End With
Loop
End Sub
Kod çalıştığında kırmızı olan şart gerçekleşinceye kadar mavi olan işlemleri yapar. Örneğin

Rich (BB code):
Sub çalıştır()
On Error Resume Next

Dim RNG As Range
Set RNG = Range("A1:P1")
Dim randomCell As Long
Do until [A1] = 100
    randomCell = Int(Rnd * RNG.Cells.Count) + 1
    With RNG.Cells(randomCell)
        .Select
    End With
Loop
End Sub
Bu kodda A1 hücresi 100 oluncaya kadar Do ve Loop arasındaki işlemler tekrar edilir.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
Do until kullanımı ş
Rich (BB code):
Sub çalıştır()
On Error Resume Next

Dim RNG As Range
Set RNG = Range("A1:P1")
Dim randomCell As Long
Do until şu şart gerçeklecince
    randomCell = Int(Rnd * RNG.Cells.Count) + 1
    With RNG.Cells(randomCell)
        .Select
    End With
Loop
End Sub
Kod çalıştığında kırmızı olan şart gerçekleşinceye kadar mavi olan işlemleri yapar. Örneğin

Rich (BB code):
Sub çalıştır()
On Error Resume Next

Dim RNG As Range
Set RNG = Range("A1:P1")
Dim randomCell As Long
Do until [A1] = 100
    randomCell = Int(Rnd * RNG.Cells.Count) + 1
    With RNG.Cells(randomCell)
        .Select
    End With
Loop
End Sub
Bu kodda A1 hücresi 100 oluncaya kadar Do ve Loop arasındaki işlemler tekrar edilir.
Hocam ilgilendiniz alaka gösterdiniz çok çok teşekkür ederim bu yoldan yapmaya çalışayım.
 
Katılım
19 Eylül 2012
Mesajlar
322
Excel Vers. ve Dili
2010 türkçe
teşekkür ederim
 
Üst