• DİKKAT

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

Döngü Sorunu

Katılım
9 Ocak 2009
Mesajlar
557
Excel Vers. ve Dili
2002 TÜRKÇE
2007 TÜRKÇE
2010 TÜRKÇE
2019 TÜRKÇE
Dim aranan, adrs As String
Dim ara As Range
aranan = ComboBox1.Text
With Sheets("Yıl")
sat = .Cells(Rows.Count, "A").End(xlUp).Row
Set ara = .Range("A1:A" & sat).Find(aranan, , xlValues, xlWhole)
If ara Is Nothing Then
sat = sat + 1
.Cells(sat, 1) = ComboBox1.Text
.Cells(sat, 2) = TextBox9.Text
.Cells(sat, 3) = TextBox8.Text
Exit Sub
End If
adrs = ara.Address
Do
If TextBox8.Text = ara.Offset(0, 2).Value Then
MsgBox "var"
Exit Do
Else
MsgBox "yok"
End If
Set ara = Range("A2:A" & sat).FindNext(ara)
Loop While ara.Address <> adrs
End With

ADI

FİYAT

YIL

MURAT

10

2020

MURAT

11

2021

MURAT

11

2022

MURAT

12

2023

MURAT

12

2024

MURAT

12

2019

Merhaba;
İlk olarak şirket bilgisayarı olduğu için dosya yüklemeye izin vermiyor kusura bakmayın.
Kodu çalıştırdığım zaman Combobox1' den Murat seçili Textbox8 2020 yazdığımda var uyarısı veriyor.Burada sorun yok.Fakat Texbox8 'e 2021 yazdığımda yok uyarısı 2 kez verip 1 kez arkadan var uyarısı veriyor.Textbox8 2022 yazdığımda yok uyarısı 4 kez verip 1 kez var uyarısı veriyor.Bir türlü düzeltemedim.Yardımcı olursanız sevinirim.
Teşekkürler.
 
Son düzenleme:
Selamlar

kodlarda bu kısmı
Kod:
Do
If TextBox8.Text = ara.Offset(0, 2).Value Then
MsgBox "var"
Exit Do
Else
MsgBox "yok"
End If
Set ara = Range("A2:A" & sat).FindNext(ara)
Loop While ara.Address <> adrs

Aşağıdaki gibi değiştirip dener misiniz?

Kod:
Do
If CDbl(Sheets("Yıl").TextBox8.Text) = ara.Offset(0, 2).Value Then
MsgBox "var"
Exit Sub
End If
Set ara = Range("A2:A" & sat).FindNext(ara)
Loop While ara.Address <> adrs
MsgBox "yok"
 
Do
If CDbl(Sheets("Yıl").TextBox8.Text) = ara.Offset(0, 2).Value Then
MsgBox "var"
Exit Sub
End If
Set ara = Range("A2:A" & sat).FindNext(ara)
Loop While ara.Address <> adrs
MsgBox "yok"

Cevap için teşekkür ederim.
Textbox8 değeri varsa sorun yok, örneğin MURAT 2023 kaydet dediğimde yine var uyarısı veriyor fakat listede 2023 olmamasına rağmen.Texbox8 değeri listede olsun olmasın var uyarısı veriyor taki comboboxta yazan MURAT isminden başka isim yazana kadar.
 
Selamlar
siz her iki şartında olması durumunda mı kayıt yapmak istiyorsunuz?
 
Teşekkür ederim verdiğiniz cevap istenileni yapıyor benim hatam kusura bakmayın kopyala yapıştır yapmadığım için.
Konu çözülmüştür tekrardan teşekkür ederim Mdemir63 bey.
 
Son düzenleme:
Do
If CDbl(Sheets("Yıl").TextBox8.Text) = ara.Offset(0, 2).Value Then
MsgBox "var"
Exit Sub
End
If Set ara = Range("A2:A" & sat).FindNext(ara)
Loop While ara.Address <> adrs
MsgBox "yok"

Çok olmazsa bir soru daha. Peki
If CDbl(Sheets("Yıl").TextBox8.Text) = ara.Offset(0, 2).Value Then
ise satırı nasıl silebiliriz.
 
Hangi satırı silmek isterseniz o satır bu kodun peşine yazın
 
Kusura bakmayın beceremedim.Combobox1 ve Texbox8 e denk gelen satırı sildirmeyi başaramadım.
 
Merhaba
Altın üye olmadığınız için direkt olarak dosya ekleyemiyorsunuz bunu biliyoruz.
Ancak harici sitelerden birine gerçek bilgilerinizi içermeyen ama dosyanızın yapısı
gerçek bilgilerinizin yapısıyla aynı örnek dosya ekleyerek dah çabuk yanıtlar alabileceğinizi hatırlatmak isterim.
Onun için sorularınıza hem geç yanıt alırsınız, hem de sorunun çözümü gecikir. Ayrıca bilgi kirliliğine neden olur.
İyi çalışmalar
 
Merhaba
Altın üye olmadığınız için direkt olarak dosya ekleyemiyorsunuz bunu biliyoruz.
Ancak harici sitelerden birine gerçek bilgilerinizi içermeyen ama dosyanızın yapısı
gerçek bilgilerinizin yapısıyla aynı örnek dosya ekleyerek dah çabuk yanıtlar alabileceğinizi hatırlatmak isterim.
Onun için sorularınıza hem geç yanıt alırsınız, hem de sorunun çözümü gecikir. Ayrıca bilgi kirliliğine neden olur.
İyi çalışmalar

Yine de teşekkür ederim. Fakat Altın üye olmamla alakalı bir durum değil şirket bilgisayarımdan başka bilgisayarım yok ve bu bilgisayardan dışarıya dosya aktarımı v.b.. maile ek bile gönderilmiyor veri güvenliği sebebiyle. Buna istinaden bu şekil yazıyordum. Size de iyi çalışmalar dilerim.
 
MsgBox "var"
Yukardakinin altına alttakini yazın yanlış yazmadıysam.

ara.entirerow.delete
 
Geri
Üst