Soru Userform ile sayfaya kaydettiğim bilgileri listbox da sıralama

Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
Günaydın arkadaşlar User form ile sayfaya kaydettiğim bilgileri listbox da listeleme yapıyorum onda sıkıntım yok ama arkadaşlar en son kaydettiğimi en başta listelemek istiyorum nasıl yapabileceğime dair bilgisi olan var mı acaba şimdiden teşekkürler..
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
En yeni veriyi en üs satıra kaydederseniz çok basit şekilde çözersiniz.
Ben bir çok dosyamda Listboxda en son veriyi görmek istiyorsam böyle yapıyorum. Kodlar daha basit oluyor böylece.
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
Peki onda nasıl bir kodlama yapacağım peki ben şimdi her kayıtta son satırı bulduruyorum kod olarak örnekleme yapabilirmisiniz. Kaydet butonumdaki kod dizilimim böyle
C++:
Private Sub CommandButton1_Click()


If Textsetadi <> "" And ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" And Texttarih <> "" Then
    Application.ScreenUpdating = True
    satir = WorksheetFunction.CountA(Sheets("GİRİŞ").Range("A1:A65536")) + 1 'VERİ sayfasında, a kolonundaki son dolu hücreden sonraki satir
 
        If IsDate(Texttarih.Value) Then

                    If satir = 2 Then

                        Sheets("GİRİŞ").Cells(satir, 1) = Textsetadi.Value
                       
                        Sheets("GİRİŞ").Cells(satir, 2) = ComboBox1.Value
                        Sheets("GİRİŞ").Cells(satir, 3) = ComboBox2.Value
                        Sheets("GİRİŞ").Cells(satir, 4) = ComboBox3.Value
                        Sheets("GİRİŞ").Cells(satir, 5) = Texttarih.Value
                       
                       
                       
                        Textsetadi.Value = ""
                        ComboBox1.Value = ""
                        ComboBox2.Value = ""
                        ComboBox3.Value = ""
                        Texttarih.Value = ""



                    Else

                        Sheets("GİRİŞ").Cells(satir, 1) = Textsetadi.Value
                        Sheets("GİRİŞ").Cells(satir, 2) = ComboBox1.Value
                        Sheets("GİRİŞ").Cells(satir, 3) = ComboBox2.Value
                        Sheets("GİRİŞ").Cells(satir, 4) = ComboBox3.Value
                        Sheets("GİRİŞ").Cells(satir, 5) = Texttarih.Value
                       
                        Textsetadi.Value = ""
                        ComboBox1.Value = ""
                        ComboBox2.Value = ""
                        ComboBox3.Value = ""
                        Texttarih.Value = ""
                       
                    End If
   
     
   
    Else
        MsgBox ("TESLİM TARİHİ DÜZGÜN GİRİLMELİ.. ( GG/AA/YYYY )")

    End If

Else
MsgBox ("LÜTFEN GEREKLİ ALANLARI BOŞ BIRAKMAYINIZ..")
End If

End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bu şekilde her yeni kayıt 2.satıra kaydedilecektir.
Listboxa verileri çekince de son kayıt en üstte yani yeniden eskiye doğru görünecektir.

C#:
Private Sub CommandButton1_Click()
    If Textsetadi <> "" And ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" And Texttarih <> "" Then
        Application.ScreenUpdating = True
        If IsDate(Texttarih.Value) Then
            Range("A2").EntireRow.Insert , 1
            Sheets("GİRİŞ").Cells(2, 1) = Textsetadi.Value
            Sheets("GİRİŞ").Cells(2, 2) = ComboBox1.Value
            Sheets("GİRİŞ").Cells(2, 3) = ComboBox2.Value
            Sheets("GİRİŞ").Cells(2, 4) = ComboBox3.Value
            Sheets("GİRİŞ").Cells(2, 5) = Texttarih.Value
            Textsetadi.Value = ""
            ComboBox1.Value = ""
            ComboBox2.Value = ""
            ComboBox3.Value = ""
            Texttarih.Value = ""
        Else
            MsgBox ("TESLİM TARİHİ DÜZGÜN GİRİLMELİ.. ( GG/AA/YYYY )")
        End If
    Else
    MsgBox ("LÜTFEN GEREKLİ ALANLARI BOŞ BIRAKMAYINIZ..")
    End If
End Sub
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
teşekkür ediyorum sondan listeleme yapıyor ama şöyle bir sıkıntı oldu faket kaydet dediğim zaman listbox ta gözükmüyor userformu kapatıp açtığım zaman geliyor listeye neden olur acaba .
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Daha önceki haliyle geliyormuydu ki?
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
evet geliyordu dosya ekleyemiyorum sanırım altın üye olmadan burada
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Siz yukarıdaki kodlarla sadece sayfa kayıt kısmını değiştirdiniz.
Kayıt yaptıktan sonra Listboxun güncellenmesi hakkında bir değişiklik yapmadınız.
Eğer öncesinde, her kaydet işleminden sonra listbox güncelleniyorsa yine güncellenecektir.
Bir yerde eksiğiniz var, eksik ifade ediyorsunuz bence.

Not: Dosyalarınızı harici dosya yükleme sitelerine yükleyerek URL paylaşabilirsiniz.
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
yok aynen bende öyle yaptım sadece kaydet içeriliğini değiştirdim başka bir değişiklik yapmadım , kaydet dediğim zaman listboxta görüntülenmiyor ama dediğim gibi kapat yazdıktan sonra sayfa dada kayıt olmuş oluyor tekrar user formu açtığımda ise listbox a gelmiş oluyor ben tekrar kontrol sağlıyorum yazarım size tekrardan
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
C++:
Private Sub CommandButton1_Click()
    If Textsetadi <> "" And ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" And Texttarih <> "" Then
        Application.ScreenUpdating = True
        If IsDate(Texttarih.Value) Then
            Range("A2").EntireRow.Insert , 1
            Sheets("GİRİŞ").Cells(2, 1) = Textsetadi.Value
            Sheets("GİRİŞ").Cells(2, 2) = ComboBox1.Value
            Sheets("GİRİŞ").Cells(2, 3) = ComboBox2.Value
            Sheets("GİRİŞ").Cells(2, 4) = ComboBox3.Value
            Sheets("GİRİŞ").Cells(2, 5) = Texttarih.Value
            Textsetadi.Value = ""
            ComboBox1.Value = ""
            ComboBox2.Value = ""
            ComboBox3.Value = ""
            Texttarih.Value = ""
        '..............................................'
        ' Buraya Listboxa verileri çağırdığınız '
        ' RowSource ya da Add Item metoduyla olan kodlarınızı '
        ' tekrar yazmalı ya da Call ile çağırmalısınız'
        Else
            MsgBox ("TESLİM TARİHİ DÜZGÜN GİRİLMELİ.. ( GG/AA/YYYY )")
        End If
    Else
    MsgBox ("LÜTFEN GEREKLİ ALANLARI BOŞ BIRAKMAYINIZ..")
    End If
End Sub
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
Çözdüm teşekkür ederim , son bir şey daha soracağım ustat ben şimdi combobox1 içindeki değere göre textbox1 değer yazdırıyorum ama bazen oluyor bazende şöyle bir şey oluyor ürünü sectiğimde textbox değişiyor ama kaydetmeden ürünü değiştirdiğimde combobox dan aynı yazı kalıyor

orda yazdığım kod bu bunu nasıl düzeltirim birde textbox pasif olmasını istiyorum size zahmet bir bakarmısınız..Teşekkür ediyorum

Kod:
Private Sub ComboBox1_Change()


If ComboBox1.Value = "BURUN KONKA UCU CELON PRO BREATH REF:WB990004" And ComboBox1.Value = "CELON PRO SLEEP DAMAK PROBU REF:HD03-02R2" And ComboBox1.Value = "ENT FORCEPS TONSİL PROBU REF:110-005D" Then

    textbolumad.Value = "KBB AMELİYATHANE"
Else
    textbolumad.Value = "GENEL CERRAHİ AMELİYATHANE"
End If
                       



End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Hiç bir şey anlamadım. Kusura bakmayın.
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
sıkıntı yok ben anlatamadım sanırım kodu unutalım :) sorum şöyle olsun diğelim ki combobox ta 10 adet malzemem var acılır listede her hangi birini şeçtiğimde textbox a otomatik o malzeme sınıfı kbb sınıfı örneğin textbox a otomatik kbb yazmasını yada şeçtiğim malzeme genel cerrahi malzemesi ise textbox a genel cerrahi sectiğim malzeme plastik cerrahi malzemesi ise textbox a Plastik cerrahi yazısını otomatik yazsın istiyorum ..İnşallah anlatabilmişimdir hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu malzemelerin grupları excel sayfasında bir yerde yazıyorsa FIND komutu ile bilgi alınabilir. Bunun için detay vermelisiniz.
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
Korhan bey dosyayı tükledim girişteki Kullanıcı ADI :AYAN Şifre :885500 bir bakarsanız memnun kalırım.STR



 
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dosyanızda ComboBox için verileri BİLGİ sayfasının B sütunundan aldırıyorsunuz. B sütunun hemen yanına bir sütun daha ekleyip buraya malzemelerin gruplarını yazarsanız veriyi buradan aldırabilirsiniz.
 
Katılım
14 Mart 2020
Mesajlar
28
Excel Vers. ve Dili
2010
Zaten A Sütununda var tekrar ekmem gerekli mi ki acaba daha once combobox2 olarak oraya liste halinde eklemiştim ordan alıyordum ama şimdi combobox1 in içeriliğine göre textbox1 de otomatik yazsın istiyorum aslında if then else ile yaptırıyorum bunu ama bazen düzgün çalışmıyor Korhan bey
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,330
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Siz A sütununa sadece iki grup yazmışsınız. B sütununda ise birden fazla kalem var. Hangi kalem hangi grupta excelin bilmesi için bunları eşleştirmelisiniz.

Yani aşağıdaki gibi bir mantık olmalıdır.

Stok Adı Grubu
Enginar Sebzeler
Patates Sebzeler
Erik Meyveler
Elma Meyveler
 
Üst