Soru Userform ile farklı sayfaya farklı satıra kayıt

MESUT K

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
221
Excel Vers. ve Dili
İş'te:Excel 2016 eng
Ev'de:Excel 2013 tr
Altın Üyelik Bitiş Tarihi
29-04-2025
Herkese Selamlar

Userform ile başlıktada belirttiğim üzere farklı sayfa ve farklı satıra kayıt yaptırmak istiyorum.Kayıt butonum başka sayfada ,kayıt yapmak istediğim yer farklı sayfada.Birde Kayıt yapmak istediğim satır aralığı " B91:B290".Userform B91:B290 aralığında benzer kayıt yoksa sıralı bir şekilde kayıt yapmalı.Aşağıdaki kod düzenimde eksiklik var çalıştıramadım.Bilen arkadaşlardan yardım istiyorum

Saygılarımla


Private Sub CommandButton1_Click()
If Application.WorksheetFunction.CountIf(Sheets("DATA").Range("B91:B290"), TextBox1.Value) > 0 Then
MsgBox "Girmekte olduğunuz veri veritabanında kayıtlıdır!...", vbCritical
Exit Sub
i = Sheets("DATA").Range("B65536").End(3).Row + 1

Sheets("DATA").Cells(i + 1, 2) = TextBox1.Text
Sheets("DATA").Cells(i + 1, 3) = ComboBox1.Text
Sheets("DATA").Cells(i + 1, 4) = ComboBox2.Text

MsgBox "KAYIT YAPILDI"

TextBox1.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""

TextBox1.SetFocus

End If
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sona yazdığınız End İf satırını sondaki bölümden silip Exit Sub satırından sonra ekleyerek deneyin.
 

MESUT K

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
221
Excel Vers. ve Dili
İş'te:Excel 2016 eng
Ev'de:Excel 2013 tr
Altın Üyelik Bitiş Tarihi
29-04-2025
Merhaba Ömer bey

Dediğiniz şekilde yaptım.Kayıt yapıyor şuan.Fakat kaydın üzerine yazıyor birer atlamalı gitmiyor.Dosyayı ekledim yardımcı olabilirseniz memnun olurum

Saygılarımla
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sadece hata yapısına bakmıştım.

i = Sheets("DATA").Range("B91:B290").End(3).Row + 1 bu satır aşağıdaki gibi olmalı.

i = Sheets("DATA").Range("B290").End(3).Row + 1

Birde eğer bu satırın sonunda +1 kullanırsanız;

kayıt satırında Sheets("DATA").Cells(i + 1, 2) ... i+1 kullanmamanız gerekir. Çünkü iki satırda da + 1 yazarsanız 1 satır atlayarak kayıt yapar.

Doğrusu;
Kod:
Private Sub CommandButton1_Click()

    If Application.WorksheetFunction.CountIf(Sheets("DATA").Range("B91:B290"), TextBox1.Value) > 0 Then
        MsgBox "Girmekte olduğunuz veri veritabanında kayıtlıdır!...", vbCritical
        Exit Sub
    End If
   
    i = Sheets("DATA").Range("B290").End(3).Row + 1
   
    Sheets("DATA").Cells(i, 2) = TextBox1.Text
    Sheets("DATA").Cells(i, 3) = ComboBox1.Text
    Sheets("DATA").Cells(i, 4) = ComboBox2.Text
   
    MsgBox "KAYIT YAPILDI"
   
    TextBox1.Text = ""
    ComboBox1.Text = ""
    ComboBox2.Text = ""
   
    TextBox1.SetFocus

End Sub
 

MESUT K

Altın Üye
Katılım
26 Nisan 2019
Mesajlar
221
Excel Vers. ve Dili
İş'te:Excel 2016 eng
Ev'de:Excel 2013 tr
Altın Üyelik Bitiş Tarihi
29-04-2025
Ömer Bey yardımınız çok teşekkür ediyorum.Elinize sağlık
 
Üst