Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
14/04/2012 23:14
Konu Sahibi
DUAYEN
Yorumlar
3
Okunma
3452
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

DUAYEN

Aktif Üye
SÜ.... AR....
 35
 1.026
 71
 13/08/2010
279
 Yozgat
 
 Ofis 2007
 18/04/2018,17:46
Bir Vba programında belirli bir grup komutu birden fazla çalıştırmak için aşağıdaki döngü komutlarından birini kullanabilirsiniz. Vba bunun için dört farklı program döngüsü sunar:
1· For-Next Döngüsü
2· Do-Loop Döngüsü
3· While-Wend Döngüsü
4· For-Each Döngüsü

Her program döngü tipinin kendine has özellikleri vardır. For Next komutu daha önceden belirlenen bir sayıda ve Do-Loop komutu döngünün sonunda veya başında kontrol edilen şart sağlanana kadar tekrar eder.While Wend ise Do Loop döngüsünün basite indirgenmiş bir halidir.
For Next döngüsü, tekrar sayısının başlangıçta tanımlandığı ve döngü sırasında değiştirilmediği durumlarda kullanılır.
Örneğin;

Kod:
Dim lngSayac As Long
For lngSayac = 1 To 10
Debug.Print "Sayaç = " & lngSayac & "!"
Next lngSayac

Bu basit döngü sırasında sayaç değeri 1'den 10! Kadar teker teker arttırılır ve sonuç direkt olarak yazdırılır.

Do Loop döngüsü ise tekrar sayısının açık olduğu durumlarda kullanılır. Bunun için en iyi örnek bir metin içerisinde kelime aramaktır. Bu kelimenin tam olarak nerede olduğunu bilemediğimiz için tekrar sayısını en başta belirlememiz mümkün değildir. Bilgisayarın döngü içerisindeki komutları sonsuza kadar tekrar etmesi için ifadenin en basit halini kullanabilirsiniz:

Do
' Tekrar edilecek komutlar
Loop
Bu tür sonsuz döngülere çok sık ihtiyaç duyulmadığı için Do Loop komutunun While veya Until parametreleri kullanılarak bir şart ile kontrol edilmesi gereklidir.
örneğin;

Kod:
Do
strWord = KelimeOku
Loop Until strWord = "Office"

Yukarıdaki Do Loop döngüsü okunan kelime "Office" değerini içerene kadar devam edecektir. Buna karşılık While parametresi ile de tersi bir sonuç elde edilir. Döngü bu durumda sonuç olumlu olduğu sürece devam edecektir.

Kod:
Do
strWord = KelimeOku
Loop While strWord = "Office"

VBA'nın While-Wend ifadesini desteklemesinin en önemli nedeni uyum sorunlarıdır. Bu, Do Loop döngüsünün daha basit bir şeklidir.

Kod:
While iSayac < 20
iSayac = isayac + 1
Wend

veya daha modern şekli ile

Kod:
Do While iSayac < 20
iSayac = iSayac + 1
Loop


DUAYEN...


Bizim için zor diye bir şey yoktur, imkansızsa zaman alır...

Kullanici Avatari

benremix

Onursal Üye
RA.... SO....
 51
 4.443
 127
 17/05/2009
365
 Ankara
 Şirket Sahibi
 Ofis 2010 64 Bit
 Dün,19:46
Verdiğiniz bilgiler için teşekkürler.
Saygılar.


Bilgi paylaşıldıkça çoğalır....
Her engel, yaşam koşullarınızı daha iyileştirecek bir fırsattır.


Access için her zaman lazım olacak konu başlıkları listesi



Kullanici Avatari

ozanakkaya

Kurucu
OZ.... AK....
 39
 11.603
 469
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,22:49
Teşekkürler.


"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 

Kullanici Avatari

tuna2344

Üye
AH.... ÖZ....
 Belirtilmemiş
 2
 1
 26/03/2015
0
 Malatya
 
 Ofis XP
 11/12/2018,11:28
Merhaba
For next döngüsünde döngünün her 10 saniyede bir işlem yapmasını istiyorum bu konuda yardım bekliyorum 
teşekkürler




Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  For Each Anlatımı ve Örnekler DUAYEN 3 2.370 06/12/2015, 20:54
Son Yorum: rry0055
  Excelde Düşeyara ile Arama yapma Örnek ürün açıklamaları axikral 7 10.830 13/09/2010, 16:52
Son Yorum: assenucler

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2018 MyBB Group.