• DİKKAT

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

Combobox`in Bos Satirlari Almasini Engellemek

Katılım
21 Ekim 2008
Mesajlar
2,323
Excel Vers. ve Dili
Office 2013 - Eng
Arkadaslar ne yaptiysam halledemedim, listfillrange`ine yazarak combobox kriterlerini listeledim rowsource yparak dahi halledemiyorum, lutfen dosyaya bi goz atarmisiniz, ustteki combobox`in yani combobox2`nin bos satirlari gostermesini istemiyorum, ilgilenen arkadaslara simdiden cok tesekkur ederim..
 

Ekli dosyalar

ComboBox2 icin, Sheet4 Cover sayfasına asagıdaki kodu giriniz. ComboBox1 icinde benzer sekilde dusunebilirsiniz.

Private Sub Worksheet_Activate()
Dim say As Integer
say = WorksheetFunction.CountA(Sheet2.Range("AE3:AE65000"))
ComboBox2.ListFillRange = "Numbers!AE4:AE" & say

End Sub
 
Arkadaslar ne yaptiysam halledemedim, listfillrange`ine yazarak combobox kriterlerini listeledim rowsource yparak dahi halledemiyorum, lutfen dosyaya bi goz atarmisiniz, ustteki combobox`in yani combobox2`nin bos satirlari gostermesini istemiyorum, ilgilenen arkadaslara simdiden cok tesekkur ederim..

bu kadu denermisiniz ancak sayfaya girirş çıkış yapmanız gerekecek değişikliklerde


Kod:
Private Sub Worksheet_Activate()
ComboBox1.ListFillRange = "Numbers!C3:C" & Worksheets("Numbers").[C65536].End(3).Row
ComboBox2.ListFillRange = "Numbers!AE3:AE" & Worksheets("Numbers").[AE65536].End(3).Row
End Sub
 
Ellerinize saglik arkadaslar, halil hocam verdiginiz kodu denemistim fakat sayfayi degistirmek aklima gelmemisti; calismadigini dusunmustum :) casteneda cok tesekkur ederim her ikinizede gecenin ozurlu saaatlerinde vakit ayirdiginiz icin, suan duzgun bir sekilde calistiriyorum..

Yalniz dedigim aradaki bosluk problemini asabilmis degilim, len fonksiyonu ile cozuldugunu duymustum, len 0 dan buyukse gibisinde where komutuyla yapilabiliyor sanirim, yada baska bir yolla bilemiyorum fikri olan varsa yazsin lutfen tesekkurler..

Ve ayrica mukerrer kayit sorunumda var evren hocamiz cozmus baska bir baslikta ama isin icinden cikamadim ben :( combobox 1 in mukerrer kayit gostermemesi gerekiyor yoksa additemla yapmak zorunda kalicam oda hos olmicak..
 
Son düzenleme:
Ellerinize saglik arkadaslar, halil hocam verdiginiz kodu denemistim fakat sayfayi degistirmek aklima gelmemisti; calismadigini dusunmustum :) casteneda cok tesekkur ederim her ikinizede gecenin ozurlu saaatlerinde vakit ayirdiginiz icin, suan duzgun bir sekilde calistiriyorum..

Yalniz dedigim aradaki bosluk problemini asabilmis degilim, len fonksiyonu ile cozuldugunu duymustum, len 0 dan buyukse gibisinde where komutuyla yapilabiliyor sanirim, yada baska bir yolla bilemiyorum fikri olan varsa yazsin lutfen tesekkurler..

Ve ayrica mukerrer kayit sorunumda var evren hocamiz cozmus baska bir baslikta ama isin icinden cikamadim ben :( combobox 1 in mukerrer kayit gostermemesi gerekiyor yoksa additemla yapmak zorunda kalicam oda hos olmicak..



bunu denermisiniz
ancak ComboBox1.ListFillRange ve ComboBox2.ListFillRange kısmındaki veri kodlarını silmeniz gerekiyor




Kod:
Private Sub Worksheet_Activate()
ComboBox1.Clear
ComboBox2.Clear
For i = 3 To Worksheets("Numbers").[C65536].End(3).Row
If Worksheets("Numbers").Cells(i, "C").Value <> "" Then
ComboBox1.AddItem Worksheets("Numbers").Cells(i, "C").Value
End If
Next
For J = 3 To Worksheets("Numbers").[C65536].End(3).Row
If Worksheets("Numbers").Cells(J, "AE").Value <> "" Then
ComboBox2.AddItem Worksheets("Numbers").Cells(J, "C").Value
End If
Next
End Sub
 
Kod:
ComboBox1.Clear
ComboBox2.Clear
ComboBox1.Value = "** Fatura Tipini Seciniz"
ComboBox2.Value = "**Fatura Numarasi Seciniz"
For i = 4 To Worksheets("Numbers").[C65536].End(3).Row
If Worksheets("Numbers").Cells(i, "C").Value <> "" Then
ComboBox1.AddItem Worksheets("Numbers").Cells(i, "C").Value
End If
Next
For J = 4 To Worksheets("Numbers").[C65536].End(3).Row
If Worksheets("Numbers").Cells(J, "AE").Value <> "" Then
ComboBox2.AddItem Worksheets("Numbers").Cells(J, "AE").Value
End If
Next

Bu sekilde yazdim Halit Bey, istedigim gibi calisiyor suan; elinize saglik..
 
iyi çalışmalar
 
Sn. Mustafaine yukardaki formülünüzde mükerrer olunca sorun çıkmıyormu?
 
Bende bu formul, mukerrelerde tekrarı ortadan kaldırmadı. Boş gözüken ama içinde formül olan hücreleride boş olarak aldı. Bu yüzden Alternatif olarak aşağıdaki formülü yazdım.


Private Sub Worksheet_Activate()
Dim x As Integer
Dim k As Integer
ComboBox1.Value = "** Fatura Tipini Seciniz"
ComboBox2.Value = "**Fatura Numarasi Seciniz"
ComboBox1.Clear
ComboBox2.Clear

For x = 4 To Sheet2.Cells(65536, 31).End(xlUp).Row
k = Sheet2.Range("ae" & x).Rows.Count - WorksheetFunction.CountBlank(Sheet2.Range("ae" & x)) 'Dolu Satir Sayisi
If k <> 0 And WorksheetFunction.CountIf(Sheet2.Range("ae4:ae" & x), Sheet2.Cells(x, 31)) = 1 Then
ComboBox2.AddItem Sheet2.Cells(x, 31).Value
End If
Next
For x = 4 To Sheet2.Cells(65536, 3).End(xlUp).Row
k = Sheet2.Range("c" & x).Rows.Count - WorksheetFunction.CountBlank(Sheet2.Range("c" & x)) 'Dolu Satir Sayisi
If k <> 0 And WorksheetFunction.CountIf(Sheet2.Range("c4:c" & x), Sheet2.Cells(x, 3)) = 1 Then
ComboBox1.AddItem Sheet2.Cells(x, 3).Value
End If
Next
End Sub
 
Bende formulluleri gostermiyor yalniz bi problem yasarsam kodlarinizi uyarlicam tesekkurler
 
rica ederim iyi calismalar
 
Geri
Üst