• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

içiçe for nex döngüsü

Katılım
1 Eylül 2008
Mesajlar
219
Excel Vers. ve Dili
ofis 2010
mrb
aşağıdaki kodumda kırmızı renkle gösterdiğim kısımları döngüden çıkardığımda işlem eksiksiz gerçekleşiyor.çıkarmadımda ise hata vermiyor fakat işlemde gerçekleşmiyor (userform3 kaydetbutonu) dosyam ektedir ilgileriniz için şimdiden teşekkürler.


'Genel bilgiler
Dim c As Integer
Dim t As Integer
Dim d As Integer

For y = 1 To 8
For c = 1 To 5
For t = 9 To 13
For d = 14 To 16

Sheets("KimlikBilgileri").Cells(sn, 1).Value = sn
Sheets("KimlikBilgileri").Cells(sn, y + 1).Value = Controls("textbox" & y)
Sheets("KimlikBilgileri").Cells(sn, c + y + 1).Value = Controls("combobox" & c)
Sheets("KimlikBilgileri").Cells(sn, t + c + y + 1).Value = Controls("Textbox" & t)
Sheets("KimlikBilgileri").Cells(sn, t + c + y + 2).Value = Me.ComboBox6
Sheets("KimlikBilgileri").Cells(sn, d + t + c + y + 2).Value = Controls("Textbox" & d)

'Hücreleri boşaltıyoruz
Controls("Textbox" & y) = ""
Controls("Combobox" & c) = ""
Controls("Textbox" & t) = ""
Controls("Textbox" & d) = ""




Next d
Next t
Next c
Next y
 
Bu şekilde çözdüm

Fornextte ki problemimi bu şekilde çözdüm.(içiçe yazılan döngülerde yinelemeden dolayı ciddi şekilde yavaşlama olduğu için Application.ScreenUpdating = False kodunun kullanılması iyi olacaktır)


Application.ScreenUpdating = False
'Genel bilgiler

For y = 1 To 8
For y1 = 1 To 5
For y2 = 9 To 13
For y3 = 14 To 16

Sheets("KimlikBilgileri").Cells(sn, 1).Value = sn
Sheets("KimlikBilgileri").Cells(sn, 1 + y).Value = Controls("textbox" & y)
Sheets("KimlikBilgileri").Cells(sn, 1 + y + y1).Value = Controls("combobox" & y1)
Sheets("KimlikBilgileri").Cells(sn, 1 + y + y1 + y2 - 8).Value = Controls("Textbox" & y2)
Sheets("KimlikBilgileri").Cells(sn, 2 + y + y1 + y2 - 8).Value = Me.ComboBox6
Sheets("KimlikBilgileri").Cells(sn, 2 + y + y1 + y2 + y3 - 21).Value = Controls("Textbox" & y3)

Next y3, y2, y1, y

'Hücreleri boşaltıyoruz

For y4 = 1 To 16
For y5 = 1 To 6

Controls("Textbox" & y4) = ""
Controls("combobox" & y5) = ""

Next y5, y4

'Listview1 e veri çekiyoruz
Call UserForm_Initialize

'İşlemin tamamlandığını bildiriyoruz
MsgBox "Kayıt işlemi tamamlanmıştır.", vbInformation, "Bilgi"
Application.ScreenUpdating = True
 

Ekli dosyalar

Geri
Üst