user formda kayıt sırası sorunu

Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
hocalarım daha önce açtığım konuya ek olarak sormuştum ama sanırım dikkat çekmedi yada herkes çok meşgul.şansımı birkez daha denemek istedim.ekli dosyada kaydet(user formda) tıklandığında mevcut kod ile sayfa içinde arada boş bir satır olduğunda onu geçip en alt boş satıra kayıt yapıyor oysa ben kayıt alanındaki ilk boş satıra yazmasını istiyorum.çünki ekteki üye sayfaları bilgileri buradan alacak ve boş satır olursa işler karışıyor.ilgilenen olursa minnetar kalırım elinize sağlık(ilgilenmesenizde sağolun sizden çok şey öğreniyorum)Bu arada forumuda çok gezdim ama çözemedim)
 
Katılım
24 Ekim 2006
Mesajlar
81
Excel Vers. ve Dili
excel 2002 türkçe
hımm..

mrb .
siz e = s1.[e65536].End(3).Row kodunu kullanmışsınız. bu dediğiz gibi giriş yapılan son satırdan itibaren kaydedicek verinizi..
bundan kaçınmak için mesela bir for döngüsünün içinde if ile hücrenin boşlugunu sorgulatıp şart doru ise ( yani ilk bulucagı boş hüvrede) sayaç numarasını cells de kullanarak o hücereye yazdırın. böylecce bu sorunu aşabilirsiniz gibi geliyor bana..anlamış iseniz ne demek istediğimi deneyin isterseniz bi..
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
Sayın Korkut Hocam aslında kodları ben yazmadım.sadece uyarladığım yerler oldu(okadar bilgili değilim)onedenlede çözemiyorum teşekkürler
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
Private Sub CommandButton1_Click()
Set S1 = Sheets("ŞİFRE")
If ADI = "" Or KULLANICIADI = "" Then
MsgBox "EKSİK BİLGİ GİRİŞİ TESBİT EDİLMİŞTİR !", vbExclamation, "DİKKAT !"
KULLANICIADI.SetFocus
Exit Sub
End If
If KULLANICIADI <> "" And ADI <> "" And NO <> "" Then
Call ara
End If
S1.Select
End Sub


bir başka arkadaşın çalışmasındaki kodlar bunlar ve istediğim gibi çalışıyor ama uyarlayamadım
 
Katılım
24 Ekim 2006
Mesajlar
81
Excel Vers. ve Dili
excel 2002 türkçe
e = s1.[e65536].End(3).Row
For satt = 3 To e
If Range("b" & satt) = "" Then
e = satt
End If
Next satt




s1.Cells(e + 1, "b") = ComboBox1.Text
s1.Cells(e + 1, "c") = TextBox2.Text
s1.Cells(e + 1, "d") = TextBox3.Text
s1.Cells(e + 1, "e") = TextBox4.Text
s1.Cells(e + 1, "f") = TextBox5.Text
s1.Cells(e + 1, "g") = TextBox6.Text
s1.Cells(e + 1, "h") = TextBox7.Text
s1.Cells(e + 1, "&#305;") = TextBox8.Text
s1.Cells(e + 1, "j") = TextBox9.Text
s1.Cells(e + 1, "k") = TextBox10.Text
s1.Cells(e + 1, "l") = TextBox11.Text
s1.Cells(e + 1, "m") = TextBox12.Text
s1.Cells(e + 1, "n") = TextBox13.Text
s1.Cells(e + 1, "o") = TextBox14.Text
s1.Cells(e + 1, "p") = TextBox15.Text
s1.Cells(e + 1, "Q") = TextBox16.Text
s1.Cells(e + 1, "R") = TextBox17.Text
s1.Cells(e + 1, "S") = TextBox18.Text
s1.Cells(e + 1, "T") = TextBox19.Text


bide b&#246;le deneyiniz.. commandbutton1(kaydet d&#252;mesi) in klik olay&#305;n&#305;ndaki kodlar&#305; but&#252;r uyarlay&#305;n.. de&#287;i&#351;en yer ba&#351;ta yazd&#305;kalr&#305;md&#305;r. alt k&#305;s&#305;malr&#305; kodu rahat bulabilesiniz diye yazd&#305;m. mesaj yolmakta &#231;ok zorlan&#305;yorum dewaml&#305; pasword sorup duruyo online olamama ramen. mesaj gidiyomu bilmiyorum al&#305;yorsan&#305;z mesaj bi tepki verin ok :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kayıt işlemi için kullandığınız kodu aşağıdaki şekilde değiştirip denermisiniz. Umarım faydası olur.

Kod:
Private Sub CommandButton1_Click()
    Set S1 = Sheets("data")
    If ComboBox1.Text = "" Then
    MsgBox "Lütfen ADINIZI-SOYADINIZI giriniz!"
    Exit Sub
    End If
    If TextBox2.Text = "" Then
    MsgBox "Lütfen BABA ADINIZI giriniz!"
    Exit Sub
    ElseIf TextBox3.Text = "" Then
    MsgBox "Lütfen ANA ADINIZI giriniz!"
    Exit Sub
    ElseIf TextBox4.Text = "" Then
    MsgBox "Lütfen DOĞUM YERİNİZİ giriniz!"
    Exit Sub
    ElseIf TextBox5.Text = "" Then
    MsgBox "Lütfen DOĞUM TARİHİNİZİ giriniz!"
    Exit Sub
    ElseIf TextBox6.Text = "" Then
    MsgBox "Lütfen UYRUĞUNUZU giriniz!"
    Exit Sub
    ElseIf TextBox7.Text = "" Then
    MsgBox " Lüfen MEDENİ HALİNİZİ giriniz!"
    Exit Sub
    End If
    
    S1.Select
    [B3].Select
    Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
    Loop
    S = ActiveCell.Row
    
    S1.Cells(S, 2) = ComboBox1.Text
    C = 3
    For X = 2 To 19
    S1.Cells(S, C) = Controls("TextBox" & X).Text
    C = C + 1
    Next
    
    ComboBox1 = ""
    For Y = 2 To 19
    Controls("TextBox" & Y) = ""
    Next
    
    ProgressBar1.Visible = True
    Dim Z As Integer
    For Z = 1 To 1000
    ProgressBar1.Value = (Z / 1000) * 100
    DoEvents
    Next
    MsgBox "Kayıt işleminiz tamamlanmıştır."
    ProgressBar1.Visible = False
    ComboBox1.SetFocus
End Sub
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
hocam ilginize teşekkürler üzerinde uğraşıyorum ancak

S1.Cells(S, c) = Controls("TextBox" & X).Text komutlu satırda hata veriyor çözmeye çalışıyorum
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
belki aynı sorunu yaşayanlar olabilir diye ve tabi hocalarımdan gören olursa olabilecek problemleri belirtmek adına kodu buraya aktarıyorum teşekkürler

Private Sub CommandButton1_Click()
Set s1 = Sheets("data")
If ADISOYADI.Text = "" Then
MsgBox "Lütfen ADINIZI-SOYADINIZI giriniz!"
Exit Sub
End If
If BABAADI.Text = "" Then
MsgBox "Lütfen BABA ADINIZI giriniz!"
Exit Sub
ElseIf ANAADI.Text = "" Then
MsgBox "Lütfen ANA ADINIZI giriniz!"
Exit Sub
ElseIf DOĞUMYERİ.Text = "" Then
MsgBox "Lütfen DOĞUM YERİNİZİ giriniz!"
Exit Sub
ElseIf DOĞUMTARİHİ.Text = "" Then
MsgBox "Lütfen DOĞUM TARİHİNİZİ giriniz!"
Exit Sub
ElseIf UYRUĞU.Text = "" Then
MsgBox "Lütfen UYRUĞUNUZU giriniz!"
Exit Sub
ElseIf MEDENİHAL.Text = "" Then
MsgBox " Lüfen MEDENİ HALİNİZİ giriniz!"
Exit Sub
End If

s1.Select
[B3].Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = ADISOYADI.Text
ActiveCell.Offset(0, 1).Value = BABAADI.Text
ActiveCell.Offset(0, 2).Value = ANAADI.Text
ActiveCell.Offset(0, 3).Value = DOĞUMYERİ.Text
ActiveCell.Offset(0, 4).Value = DOĞUMTARİHİ.Text
ActiveCell.Offset(0, 5).Value = UYRUĞU.Text
ActiveCell.Offset(0, 6).Value = MEDENİHAL.Text
ActiveCell.Offset(0, 7).Value = ADRESİ.Text
ActiveCell.Offset(0, 8).Value = TextBox13.Text
ActiveCell.Offset(0, 9).Value = TextBox12.Text
ActiveCell.Offset(0, 10).Value = TextBox9.Text
ActiveCell.Offset(0, 11).Value = TextBox10.Text
ActiveCell.Offset(0, 12).Value = TextBox11.Text
ActiveCell.Offset(0, 13).Value = TextBox14.Text
ActiveCell.Offset(0, 14).Value = TextBox15.Text
ActiveCell.Offset(0, 15).Value = TextBox16.Text
ActiveCell.Offset(0, 16).Value = TextBox17.Text
ActiveCell.Offset(0, 17).Value = TextBox18.Text
ActiveCell.Offset(0, 18).Value = TextBox19.Text

s1.Select
ProgressBar1.Visible = True
Dim Z As Integer
For Z = 1 To 1000
ProgressBar1.Value = (Z / 1000) * 100
DoEvents
Next
MsgBox "Kayıt işleminiz tamamlanmıştır."
ProgressBar1.Visible = False
ADISOYADI.SetFocus
End Sub
 
Üst