FOR......NEXT DÖNGÜSÜ (NEDEN ÇALIŞMIYOR)?

Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
FOR......NEXT DÃ?NGÜSÜ (NEDEN ÇALIÞMIYOR)?

For i = 2 To Cells(65536, 2).End(xlUp).Row
If TextBox13.Text = Cells(i, 2) And Cells(i, 1) = 1 And Cells(i, 1) = 2 And Cells(i, 1) = 3 And Cells(i, 1) = 4 And Cells(i, 1) = 5 And Cells(i, 1) = 6 And Cells(i, 1) = 7 And Cells(i, 1) = 8 And Cells(i, 1) = 9 And Cells(i, 10) = 1 And Cells(i, 1) = 11 And Cells(i, 1) = 12 And Cells(i, 6) = "" And Cells(i, 7) <> "" Then MsgBox"12 D�NEM TAMAMLANMIÞTIR."
Next

Yukarıdaki kodu bir türlü çalıştıramadım. Yardımcı olabilirmisiniz. Teşekkürler.
 
Katılım
3 Mart 2005
Mesajlar
571
Excel Vers. ve Dili
Excel 2000 Ing.
merhaba,
mantık hatası var,,
Cells(i, 1) aynı anda 1,2,3,...12 eşit olamaz...

dolayısıyla if sonucu sürekli yanlış çıkar ve msgbox işletilmez..
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
-Çalışmayan döngü ise , son satırı belirlediğiniz 2. sütun dolumu? Burda bir hatanız olabilir.
-Kodun bu şekli ile doğru çalışması için işlem yaptığınız sayfanın aktif sayfa olması gerekir.
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
merhaba,
mantık hatası var,,
Evet.

If TextBox13.Text = Cells(i, 2) AND Cells(i, 1) = 1 OR Cells(i, 1) = 2 OR Cells(i, 1) = 3 OR Cells(i, 1) = 4 OR Cells(i, 1) = 5 OR Cells(i, 1) = 6 OR Cells(i, 1) = 7 OR Cells(i, 1) = 8 OR Cells(i, 1) = 9 OR Cells(i, 10) = 1 OR Cells(i, 1) = 11 OR Cells(i, 1) = 12 OR Cells(i, 6) = "" OR Cells(i, 7) <> "" Then MsgBox"12 D�NEM TAMAMLANMIÞTIR."

olarak deneyin.
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
veya

If TextBox13.Text = Cells(i, 2) AND Cells(i, 1) >= 1 AND Cells(i, 1) <= 12 AND Cells(i, 6) = "" AND Cells(i, 7) <> "" Then MsgBox"12 D�NEM TAMAMLANMIÞTIR."
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Arkadaşlar ilgilendiğiniz için çok teşekkürler sorunumu bir türlü çözemiyorum.
Sayın Alpen`nin kodunu daha önce denedim ama olmadı. ÇÜNKÜ AYNI ANDA 1 DEN 12 YE KADAR OLAN SIRA NUMARASININ HEPSİNİ SATIR SATIR KONTROL ETTİRMEK İSTİYORUM. ACABA BU MÜMKÜN MÜ? Selamlar.
Ã?rnek Kod:
Sheets("TERKİN").Select
For i = 2 To Cells(65536, 2).End(xlUp).Row
If TextBox13.Text = Cells(i, 2) And Cells(i, 1) >= 1 And Cells(i, 1) <= 12 And Cells(i, 6) = "" And Cells(i, 7) <> "" Then MsgBox "12 D�NEM TAMAMLANMIÞTIR."
Next
End Sub
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Ayrıca "OR" kullanınca uygun olan ilk şarttın sonucunu veriyor. Yani A sütununda sıra numarası 1 olan satırın şartı uygunsa mesaj geliyor. oysa ben 1 den 12 ye kadar aynı koşulun bakılmasını ve TAMAMI UYARSA mesaj vermesini istiyorum. TEKRAR TEÞEKKÜR EDER ÇALIÞMALARINIZDA BAÞARILAR DİLERİM.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

If TextBox13.Text = Cells(i, 2) AND Cells(i, 1) = 1 OR Cells(i, 1) = 2 OR Cells(i, 1) = 3 OR Cells(i, 1) = 4 OR Cells(i, 1) = 5 OR Cells(i, 1) = 6 OR Cells(i, 1) = 7 OR Cells(i, 1) = 8 OR Cells(i, 1) = 9 OR Cells(i, 10) = 1 OR Cells(i, 1) = 11 OR Cells(i, 1) = 12 AND Cells(i, 6) = "" AND Cells(i, 7) <> "" Then MsgBox"12 D�NEM TAMAMLANMIÞTIR."
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
isakarakus' Alıntı:
merhaba,
mantık hatası var,,
Cells(i, 1) aynı anda 1,2,3,...12 eşit olamaz...

dolayısıyla if sonucu sürekli yanlış çıkar ve msgbox işletilmez..
Sayın İsakarakus peki o zaman ne yapmam lazım. Nasıl bir kodlama yapmam lazım Cells(i, 1) aynı anda 1,2,3,...12 eşit AYNI ANDA EÞİT OLMASI LAZIM. Farklı bir şey önerebilirmisiniz. Teşekkür ederim.
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
leventm' Alıntı:
Aşağıdaki gibi deneyin.

If TextBox13.Text = Cells(i, 2) AND Cells(i, 1) = 1 OR Cells(i, 1) = 2 OR Cells(i, 1) = 3 OR Cells(i, 1) = 4 OR Cells(i, 1) = 5 OR Cells(i, 1) = 6 OR Cells(i, 1) = 7 OR Cells(i, 1) = 8 OR Cells(i, 1) = 9 OR Cells(i, 10) = 1 OR Cells(i, 1) = 11 OR Cells(i, 1) = 12 AND Cells(i, 6) = "" AND Cells(i, 7) <> "" Then MsgBox"12 D�NEM TAMAMLANMIÞTIR."
Sayın Leventm, F sütunun ilgili satırının "BOÞ" olması G sütunun ilgili satırının da "DOLU" olması koşulunun 1 den 12 ye kadar sağlanması gerekiyor.Eğer herhangi biri yani 1.sıra numaradan (aradaki satırlarda başka vergi numaralarına ait bilgiler olabilir.) 12.sıra numaraya kadar koşul sağlanmaz ise (AYNI ANDA) MESAJ VERSİN İSTEMİYORUM. TAMAMINDA KOÞUL SAÐLANIRSA MESAJ VERSİN. SELAMLAR.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bence siz sorunuzu tam olarak anlatamadınız. Aynı hücre aynı anda hem 1 hemde 12 olamaz dolayısıyla kod sadece tek değeri kontrol edebilir yani önce 1 mi diye bakar,değilse 2 mi diye bakar yine değilse 3 mü diye bakar....bu şekilde 12 ye kadar bakacaktır. Ve ilk eşitlenen değerde if koşulu gerçekleşeceği içinde mesaj verecektir.
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
ÞU AN ÇIKMAM LAZIM. SİZE Ã?RNEK DOSYA GÃ?NDERECEÐİM SELAMLAR.
 
Katılım
3 Mart 2005
Mesajlar
571
Excel Vers. ve Dili
Excel 2000 Ing.
kesin anladım galiba,

bu işnizi görür mü,

12 satırın tamamında doğru değere ulaşılırsa veya 36 şart doğru değer döndürürse tamam mesajı verir.

[vb:1:488c41e813]x = 0
For i = 1 To 12

If Cells(i, 1) = textbox1.Text And Cells(i, 3).Text <> "" And Cells(i, 2) = i Then x = x + 1

Next

If x = 12 Then MsgBox "tamam"[/vb:1:488c41e813]
 
Üst