FOR NEXT DÖNGÜSÜ?

Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Kod:
   Dim i As String
        i = ListBox1.SelectedIndex
        Dim item As String
        item = ListBox1.SelectedItem.ToString()
ListBox1.SetSelected(0, True)
        If i < ListBox1.Items.Count - 1 Then
                ListBox1.Items.RemoveAt(i)
                ListBox1.Items.Insert(i + 1, item)
                ListBox1.SetSelected(i + 1, True)
            End If
Herkese kolay gelsin böyle bir kod ile ListBoxun içerisinde bulunan itemlerde ilk sıradan aşağıya doğru gidebiyorum. Ancak en son iteme geldiğinde kod çalışmayı durduruyor ve ben tekrardan başa sarmasını ve tekrar etmesini istiyorum. Bununla ilgili For Next döngüsü yazmaya çalıştım ancak bir türlü uyduramadım. Yardım ederseniz sevinirim. Şimdiden teşekkürler.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Sonsuz döngü istiyorsanız Do...Loop ile yapabilirsiniz.

Kod:
Do
'Kodlarınız.'
Loop
Bu yapı sonsuz döngüdür.
Döngüden çıkmak için "If" gibi bir kontrol ile "Exit Do" yazarak çıkabilirsiniz.

Eğer yapamazsanız tam olarak yapmak istediğiniz şeyi söylerseniz ona göre bir kod yazabiliriz.
 
Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Merhaba.
Sonsuz döngü istiyorsanız Do...Loop ile yapabilirsiniz.

Kod:
Do
'Kodlarınız.'
Loop
Bu yapı sonsuz döngüdür.
Döngüden çıkmak için "If" gibi bir kontrol ile "Exit Do" yazarak çıkabilirsiniz.

Eğer yapamazsanız tam olarak yapmak istediğiniz şeyi söylerseniz ona göre bir kod yazabiliriz.
Hocam vermş olduğunuz şekilde kodlarımı Do ve Loop arasına koydum ancak program kilitleniyor sonsuz döndüğü için galiba..
233428
-Bu şekilde Koordinatların olduğu bir ListBoxum mevcut.
233430
-ListBox içerisinde bulunan bu koordinat itemlerini ilk sıradan başlamak kaydıyla en son girilen item sırasına kadar,
233431
233432

-Baştan sona doğru seçtirek gitmek istiyorum ve son item geldiğinde tekrardan başa dönmesini istiyorum. Ayrıca bu itemleri seçme sırasında mesela 2 saniyede aralıklarla bir altında ki itemi seçmesini istiyorum.
Kod:
 Dim i As String
        i = ListBox1.SelectedIndex
        Dim item As String
        item = ListBox1.SelectedItem.ToString()
ListBox1.SetSelected(0, True)
        If i < ListBox1.Items.Count - 1 Then
                ListBox1.Items.RemoveAt(i)
                ListBox1.Items.Insert(i + 1, item)
                ListBox1.SetSelected(i + 1, True)
            End If
Bu kod ile sadece listboxta bulunan itemlerin sırası ile aşağıya doğru seçtirerek gitmesini sağlıyorum ancak istediğim 2 saniyelik bekleme süresi olmadan ve son iteme geldiğinde durmasından kaynaklı istediğim kodu oluşturamadım. Bu konuda yardımcı olursanız çok sevinirim kusura bakmayın biraz uzun ve detaylı anlatım yapmış olabilirim saygılarımla.
 
Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Yardımcı olabilirmisiniz konu güncel
 
Katılım
2 Mart 2018
Mesajlar
101
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
31-01-2024
Kod:
Sub Sıralıgit()

        Dim i As String
        i = ListBox1.SelectedIndex
        Dim item As String
        item = ListBox1.SelectedItem.ToString()


        If i < ListBox1.Items.Count - 1 Then
            ListBox1.SetSelected(i + 1, True)
            Thread.Sleep(2000)
        End If

    End Sub
Kod:
 Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
        Sıralıgit() 
        If ListBox1.SelectedIndex.ToString = ListBox1.Items.Count.ToString - 1 Then 
            Timer2.Enabled = False 
            ListBox1.SetSelected(0, True) 
            Thread.Sleep(2000) 
            Sıralıgit() 
            Timer2.Enabled = True
        End If

    End Sub
-1 adet Timer ekleyerek yukarıda verdiğim kodlama şekli ile kendi nezlimde sorunumu çözmüş bulunmaktayım başkalarıda böyle takılırsa diye kodu buraya bırakıyorum.
 
Üst