• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

listboxda süzülen en son değerin bir fazlasını vermek?

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Merhaba arkadaşlar,

formda combobox2'nin exit olayından sonra seçilen veriye göre textbox1 "H10, H20, H30, H40 " gibi değerler almakta burada yapmak istediğim şey şu.

combobox2'den çıkıldığında textbox1 otomatik olarak C stünunda süzülen süzülen verinin bir fazlasını nasıl yazdırabilrim.

Ekli dosyade bir kaç debeneme yaparsanız daha iyi anlarsınız sanırım.

Şimdiden ilgilenen tüm arkadaşalrıma teşekkür ederim.

Not: combobox1'de seçilen veriye göre textbox1'in alacağı değerin ilk 3 hanesi farklıdır. Mesala combobox1'de "ETKEN MADDE" yi seçerseniz otomatik olarak textbox1 H10 ile başlar ve bu H10'ile başlayan değerlerin bir fazlasını en fazla 6 karakter olacak şekilde textbox1'e otomatik olarak yazması gerekmektedir.
 

Ekli dosyalar

Kırmızı satırı ilave ediniz.:cool:
Kod:
Private Sub ComboBox2_Change()

 ComboBox2 = Evaluate("=UPPER(" & """" & ComboBox2 & """" & ")")
   TextBox1.SelStart = 3
   TextBox1.SetFocus
    If ComboBox2.Text = "ETKEN MADDE" Then
        TextBox1.Text = "H10" & ""
        ElseIf ComboBox2.Text = "DOLGU, SEYRELTİCİ" Then
        TextBox1.Text = "H20" & ""
        ElseIf ComboBox2.Text = "KAYDIRICI" Then
        TextBox1.Text = "H21" & ""
        ElseIf ComboBox2.Text = "BAĞLAYICI" Then
        TextBox1.Text = "H22" & ""
        ElseIf ComboBox2.Text = "DAĞITICI" Then
        TextBox1.Text = "H23" & ""
        ElseIf ComboBox2.Text = "KORUYUCU" Then
        TextBox1.Text = "H24" & ""
        ElseIf ComboBox2.Text = "TATLANDIRICI" Then
        TextBox1.Text = "H25" & ""
        ElseIf ComboBox2.Text = "VİSKOZİTE AJANI" Then
        TextBox1.Text = "H26" & ""
        ElseIf ComboBox2.Text = "BOYAR MADDE" Then
        TextBox1.Text = "H27" & ""
        ElseIf ComboBox2.Text = "ESANS" Then
        TextBox1.Text = "H28" & ""
        ElseIf ComboBox2.Text = "UÇUCU MADDE" Then
        TextBox1.Text = "H29" & ""
        ElseIf ComboBox2.Text = "KAPSÜL" Then
        TextBox1.Text = "H30" & ""
        ElseIf ComboBox2.Text = "DİĞERLERİ" Then
        TextBox1.Text = "H40" & ""
    End If
    [B][COLOR="Red"]TextBox2.Text = ListBox1.ListCount + 1[/COLOR][/B]
End Sub
 
Üstadım öncelikle zaman ayırdığın için teşekkür ederim.

Kodu denediğimde textbox'a en sonki artışı yazıyor yani H10004 yazacağına

sadece 4 yazıyor.
 
Üstadım öncelikle zaman ayırdığın için teşekkür ederim.

Kodu denediğimde textbox'a en sonki artışı yazıyor yani H10004 yazacağına

sadece 4 yazıyor.
Listboxta listelenen son veriyimi yazsın istiyorsunuz?
 
Hocam;

evet listboxda süzülen en son verinin bie fazlasını verecek.
fakat combobox1'e girilen veriye göre textbox1'in alacağı değerin ilk 3 hanesi değişmektedir.

Yani combobox1'de "ETKEN MADDE" madde seçili ise textbox1'in başlangıcı
H10 ile başlar,

combobox1'de "DOLGU, SEYRELTİCİ" seçili ise textbox1 H20 ile başlar

bu seçilen verinin başlangıçta aldığı verinin C stünunda kayıtlı olan verinin bir fazlasını alacak

mesala etken madde seçildi ise ve bu etken madde gruplarından daha önce en son girilen veri H10003 ise textbox1 H10004 olmalı
eğer combobox1'de DOLGU,SEYRELTİCİ seçili ise ve daha önce bu gruptan
H20002 kayıt edilmişsse bu defa textbox1 H20003 olmalı

inşallah anlatabilmişimdir hocam

tekrar teşekkürler
 
Hocam;

evet listboxda süzülen en son verinin bie fazlasını verecek.
fakat combobox1'e girilen veriye göre textbox1'in alacağı değerin ilk 3 hanesi değişmektedir.

Yani combobox1'de "ETKEN MADDE" madde seçili ise textbox1'in başlangıcı
H10 ile başlar,

combobox1'de "DOLGU, SEYRELTİCİ" seçili ise textbox1 H20 ile başlar

bu seçilen verinin başlangıçta aldığı verinin C stünunda kayıtlı olan verinin bir fazlasını alacak

mesala etken madde seçildi ise ve bu etken madde gruplarından daha önce en son girilen veri H10003 ise textbox1 H10004 olmalı
eğer combobox1'de DOLGU,SEYRELTİCİ seçili ise ve daha önce bu gruptan
H20002 kayıt edilmişsse bu defa textbox1 H20003 olmalı

inşallah anlatabilmişimdir hocam

tekrar teşekkürler

Benim öncekiş yazdığım kodu silip aşağıdakini yazınız.:cool:
Kod:
If ListBox1.ListCount > 0 Then
        TextBox1.Text = Left(ListBox1.List(0, 2), 3) & Format(ListBox1.ListCount + 1, "000")
    End If
 
Hocam ellerinize vede emeğinize sağlık teşekkürler kod çalışıyor

Yanlız eğer combobox1'deki gruplardan ilk defa kayıt yapılıyorsa onu yapmıyor yani combobox1'de kapsül yazan veriyi seçtiğinizde ve ilk defa kapsül grubundan bir veri kaydediyorsak eğer textbox1 e sadece o ilk 3 başlangıç verisini yazıyor. Bunu düzeltmemizin imkanı varmı acaba hocam.
 
Formun initialize kısmında combobox2 için kod yazdım.Ama tamamlamadım.
Diğerleriniş siz tamamlayınız.
Şu hali ile benim yazdıklarım.Çalışıyor.
Kod:
ComboBox2.ColumnCount = 2
With ComboBox2
    .AddItem
    .Column(0, 0) = "ETKEN MADDE"
    .Column(1, 0) = "H10"
    .AddItem
    .Column(0, 1) = "DOLGU, SEYRELTİCİ"
    .Column(1, 1) = "H20"
    .AddItem
    .Column(0, 2) = "KAYDIRICI"
    .Column(1, 2) = "H21"
    .AddItem "BAĞLAYICI"
    .AddItem "DAĞITICI"
    .AddItem "KORUYUCU"
    .AddItem "TATLANDIRICI"
    .AddItem "VİSKOZİTE AJANI"
    .AddItem "BOYAR MADDE"
    .AddItem "ESANS"
    .AddItem "UÇUCU MADDE"
    .AddItem "KAPSÜL"
    .AddItem "DİĞERLERİ"
End With
 

Ekli dosyalar

Hocam dün işlerimin yoğunluğundan bakamamıştım.

Ellerinize emeğinize sağlık. Allah razı olsun.

stok kodunu kaydet butonuna bastığımızda her şey düzgün çalışıyor sayfaya kaydediyor ama şöyle bir hata veriyor

Run time error 381: colud not get the column property. Invalid property array index.

ve aşağıdaki comobox change olayındaki satırı sarı renkli olarak işaretliyor.
Kod:
 TextBox1.Text = ComboBox2.Column(1) & _
    Format(WorksheetFunction.CountIf(Sheets("Stok_Kodu").Range("B3:B65536"), ComboBox2.Value) + 1, "000")

bu hata neyden kaynaklanabilir. Bu arada her şey doğru çalışıyor o hatayı vermesine rağmen sayfaya kayıtda yapıyor. Sanırım combobox
kolonları ile ilgili bir şey
 
Son düzenleme:
Bu kodu ve bu kodun bulunduğu olaydaki kodları comboboxın click olayına yazınız.
Bunları oradan siliniz.
Click olayını en başınada if combobox2.listindex < 0 then exit sub
yazınız.:cool:
TextBox1.Text = ComboBox2.Column(1) & _
Kod:
Format(WorksheetFunction.CountIf(Sheets("Stok_Kodu").Range("B3:B65536"), ComboBox2.Value) + 1, "000")
 
hocam çok teşekkür ederim yordum sizi
 
Geri
Üst