Veri kayıtında sorun

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Aşağıdaki kod ile comboboxdan seçilen sütuna göre kayıt yapıyorum.Fakat diyelimki "A" sutununda 10 satır veri, "B" sutununda 5 satır veri var ve ben "B" sutununa kayıt yapmak istiyorum o zaman "A" sutunundaki satır sayısını baz alarak "B" sutununun 11. satırına kayıt yapıyor.Yani aradaki 5 satırı atlayarak boş bırakıyor.Bir çözüm bulamadım.Yardımlarınızı bekliyorum.Yalnızca 1.satırdaki kod değişecek.

Sonsatır = WorksheetFunction.CountA(Worksheets("Sayfa1").Range("A:A")) + 1
If ComboBox1.Value = "MEZELER" Then
Worksheets("Sayfa1").Cells(Sonsatır, 1) = TextBox1
Worksheets("Sayfa1").Cells(Sonsatır, 2) = TextBox2
ElseIf ComboBox1.Value = "ÇORBALAR" Then
Worksheets("Sayfa1").Cells(Sonsatır, 3) = TextBox1
Worksheets("Sayfa1").Cells(Sonsatır, 4) = TextBox2
ElseIf ComboBox1.Value = "SALATALAR" Then
Worksheets("Sayfa1").Cells(Sonsatır, 5) = TextBox1
Worksheets("Sayfa1").Cells(Sonsatır, 6) = TextBox2
ElseIf ComboBox1.Value = "ANAYEMEKLER" Then
Worksheets("Sayfa1").Cells(Sonsatır, 7) = TextBox1
Worksheets("Sayfa1").Cells(Sonsatır, 8) = TextBox2
ElseIf ComboBox1.Value = "TATLILAR" Then
Worksheets("Sayfa1").Cells(Sonsatır, 9) = TextBox1
Worksheets("Sayfa1").Cells(Sonsatır, 10) = TextBox2

End if
End sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
son = Sheets("Sayfa1").Cells(Rows.Count,"B").End(3).Row

Kodu B sütunundaki son dolu satırın numarasını,

yeni = Sheets("Sayfa1").Cells(Rows.Count,"B").End(3).Row + 1

Kodu da bu hücrenin bir altındaki satırın numarasını verir.

yeni = Sheets("Sayfa1").Cells(Rows.Count,"B").End(3).Row + 1
Sheets("Sayfa1").Cells(yeni, "B") = Textbox1

Şeklinde kullanabilirsiniz.
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Verdiğiniz kodu uyarladım ama yine olmadı.Kodlamanın dışında başka bir sorun mu var acaba.Dosyanın bir sayfasını ekledim.Umarım çalışır
 

Ekli dosyalar

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Döngü ile ( For-Next) sayfaya kayıt yapan bir kod yazabilirmisiniz ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kaydet düğmesinin kodlarını aşağıdaki kodlarla değiştirmeniz yeterli olacaktır:

PHP:
Private Sub Kaydet_Click()
    sut = WorksheetFunction.Match(ComboBox1.Value, Sheets("Sayfa1").[2:2], 0)
    yeni = Worksheets("Sayfa1").Cells(Rows.Count, sut).End(3).Row + 1
    Worksheets("Sayfa1").Cells(yeni, sut) = TextBox1.Value
    Worksheets("Sayfa1").Cells(yeni, sut + 1) = CDbl(TextBox2.Value)
End Sub
Yalnız dosyanızda bir çok tasarım ve veri kayıt sorunu var. Örneğin Çorbalar sütununda bir sürü boş satırdan sonra dolu hücreler var, bu nedenle yeni kaydedilen çorbalar çok altta kaldığı için userformda ve sayfanın en üstünde iken görünmüyor.

Çok fazla biçimlendirme kullanmışsınız. Bu biçimlendirmeler eğer işlev olarak önemli değilse dosyanın hantallaşmasına neden olur. Mümkün oldukça sade bir tasarım kullanmanızı tavsiye ederim.

Userformdaki nesnelerin tam olarak ne işe yaradığı, kayıt işlemin nasıl yapılacağı anlaşılmıyor.

Z sütununa gerek yok. Userform initialize koduna combobox1 için additem (kayıtlarıal makrousunda listbox için yapılmış) yöntemiyle türleri alabilirsiniz, boşluklar da olmaz böylece.

Userformu tam ekran yapmanızın bir gereği var mı bilemedim. Full hd ekranımda userformun sağ tarafında ve altında büyük boşluklar oluştu.

Inıtialize kodlarında userform ve nesnelerin biçimiyle ilgili bir sürü ayar yapıyorsunuz. Bunları her seferinde yaptırmak yerine formun ve nesnelerin özellikleri kısmından en baştan yapsanız daha iyi olur bence. Yani orda kullandığınız ayar neyse özellikler kısmında ayarlayın, initialize kısmında herhangi bir biçim ayarı vs yapmayın.

Ayrıntılı bakmadan bunları görebildim. Muhtemelen acemiliğinizden kaynaklanan problemler bunlar. Tecrübe ve yardımla daha iyi çalışmalar yapacağınızdan eminim.
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
Önerilerinizi dikkate alacağım sağolun.Aşağıdaki kod hata verdi ilk satır hata verdiği için alta inemediğinden çalışmadı.
"sut = WorksheetFunction.Match(ComboBox1.Value, Sheets("Sayfa1").[2:2], 0)"
 

seddur

Altın Üye
Katılım
12 Nisan 2012
Mesajlar
531
Excel Vers. ve Dili
Microsoft office professional plus 2019
Altın Üyelik Bitiş Tarihi
18-12-2024
"Worksheet function sınıfının Match özelliği alınamıyor"diyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Comboboxta seçilen değer 2. Satırda yoktur. Örneğin Ana yemekler z sütununda var ama 2. Satırdaki başlıklarda yok.
 
Üst