Kaydet Butonu

Katılım
2 Temmuz 2007
Mesajlar
27
Excel Vers. ve Dili
ms office 2002
Merhaba arkadaşlar,
Her zaman olduğu gibi çok basit sorumla sizlerin başını ağrıtacağım.Umarım çok soru sormamda bir sakınca yoktur.Şunu söylemek isterim ki , bir kitap aldım ve kitabı bitirdim.Excel ile ilgili çok güzel ve eğlenceli kitaptı bir hafta gibi kısa bir sürede bitirdim.Ordan okuduklarımı hayata geçirmeye karar verdim.Şimdi olay şu kitap iyi hoş ama ben kitapta anlatılanları değil kendime göre birşeyler yapmak istiyorum.Kitap yoluyla bazı yerlere geliyorum ama takıldığım noktalar oluyor işte o noktalarda size danışıyorum.Umarım beni kötü anlamazsınız..İsterseniz sadete geleyim.
Userform da kayıt butonu yaptım.ancak textbox ları doldurduktan sonra kaydet e bastığımda nedense excel sayfasının sonuna kadar gidiyor...bu da yaklaşık 65535 tane ediyor.bir kişi için sayfada o kadar yer harcarsam sayfa açmakla bitmez bu excel..o yüzden sizden isteğim aşağıda yazmış olduğum kodun neresinde hata yaptığımı söylerseniz çok sevinirim.İsteğim şu her kayıt girdiğimde sıra ile farklı satırlara yazsın...
Private Sub CommandButton2_Click()
'Kaydet
Dim i As Single
For i = 2 To 65535
If Cells(i, 1).Value = "" Then
satır = i
Cells(satır, 1).Value = TextBox1.Text 'ADI SOYADI
Cells(satır, 2).Value = TextBox2.Text 'MEDENİ HALİ
Cells(satır, 3).Value = TextBox3.Text 'ADRESİ
Cells(satır, 4).Value = TextBox4.Text 'EV TELEFONU
Cells(satır, 5).Value = TextBox5.Text 'CEP TELEFONU
Cells(satır, 6).Value = TextBox6.Text 'DOĞUM GÜNÜ
Cells(satır, 7).Value = TextBox7.Text 'MESLEĞİ
Cells(satır, 8).Value = TextBox8.Text 'E-MAIL
End If
Next
End Sub
 
Son düzenleme:

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
Şöyle deneyin.
Kod:
Private Sub CommandButton2_Click()
'Kaydet
Dim i As Single
    For i = 2 To 65535
        If Cells(i, 1).Value = "" Then
            For ii = 1 To 8
                Cells(i, ii).Value = Me.Controls("TextBox" & ii).Text
            Next ii
            Exit Sub
        End If
    Next
End Sub
ya da
Kod:
Private Sub CommandButton2_Click()
'Kaydet
Dim i As Single
    i = [a65536].End(3).Row + 1
    For ii = 1 To 8
        Cells(i, ii).Value = Me.Controls("TextBox" & ii).Text
    Next ii
End If
End Sub
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Bunun için For Next döngüsüne gerek yok.

Kodlarını aşağıdaki şekilde değiştirerek son dolu satırı rahatlıkla bulabilirsiniz.
Kod:
Private Sub CommandButton2_Click()
'Kaydet
[b]satır = [a65536].End(3).Row+1[/b]
Cells(satır, 1).Value = TextBox1.Text 'ADI SOYADI
Cells(satır, 2).Value = TextBox2.Text 'MEDENİ HALİ
Cells(satır, 3).Value = TextBox3.Text 'ADRESİ
Cells(satır, 4).Value = TextBox4.Text 'EV TELEFONU
Cells(satır, 5).Value = TextBox5.Text 'CEP TELEFONU
Cells(satır, 6).Value = TextBox6.Text 'DOĞUM GÜNÜ
Cells(satır, 7).Value = TextBox7.Text 'MESLEĞİ
Cells(satır, 8).Value = TextBox8.Text 'E-MAIL
End Sub
 
Katılım
2 Temmuz 2007
Mesajlar
27
Excel Vers. ve Dili
ms office 2002
Sil butonu *Güncel*

Cevaplarınız için Sn.Ripek ve Sn.VeyselEmre ye teşekkür ederim.

pekii bir sorum daha olacaktı.ben bu kayıt butonu yanına birde bul butonu ekledim.onda da herşey güzel gayet hoş yalnız isim girdiğimde bana hata veriyor.Kodu ise şöyle yazmaya çalıştım.Burada yalnışım nerede?
Private Sub CommandButton4_Click()
Dim i As Single, ii As String
ii = InputBox(" Adı Soyadı")
For numara = 2 To 65000
If Cells(ii, 2).Value = i Then
satır = i
TextBox1.Text = Cells(satır, 2).Value
TextBox8.Text = Cells(satır, 3).Value
End If
Next
MsgBox ("Kayıt Bulunamadı")
End Sub

burada
If Cells(ii, 2).Value = i Then
hata gösteriyor...
bir tane daha sorum olacak bu kodu böyle yazdım ama ben istediğimi userform içinde doldurup bulduramaz mıyım?yani illa yeni bir pencere açılması mı lazım?
 
Katılım
2 Temmuz 2007
Mesajlar
27
Excel Vers. ve Dili
ms office 2002
ilgin ve alakan için teşekkür ederim Sn.Ripek verdiğiniz linki hemen inceliyorum.
 
Üst