listbox da arama sorunu

Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
hocalarım merhabalar, bir form oluşturdum , üzerinde bir listbox var ve bir de textbox var. listbox ı sayfa1 deki verilerden dolduruyorum , textbox lada listbox da arama yaptırıyorum. form açıldığında sayfa1 de isem sorunsuz çalışıyor ama form açıldığında sayfa2 de isem listbox ım doluyor ama textbox dan arama kodlarım çalışmıyor. yarına yetiştirmem gereken bir çalışmam var , yardımcı olabilirseniz çok sevinirim şimdiden teşekkürler , dosyam aşağıda ki linktedir.

[link=http://www.dosyayukleyin.com/do.php?id=4504]LİSTBOX BAŞKA SHEET DOLDUR.zip[/link]
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

TextBox1_Change kodlarında For Each Alan In Range("Sayfa1!A1:A" & Cells(Rows.Count, 1).End(3).Row) satırını şu şekilde değiştirin.

Kod:
For Each Alan In Range("Sayfa1!A1:A" & [B][COLOR="Blue"]Sheets("Sayfa1").[/COLOR][/B]Cells(Rows.Count, 1).End(3).Row)
. . .
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
Hüseyin bey teşekkürler , 2 . textbox ile listbox ın 2. sütununda da aratma yapmak istiyorum , bunu nasıl kodlayabilirim acaba ? çok teşekkürler.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Hüseyin bey teşekkürler , 2 . textbox ile listbox ın 2. sütununda da aratma yapmak istiyorum , bunu nasıl kodlayabilirim acaba ? çok teşekkürler.
. . .

Kod:
Private Sub TextBox2_Change()
    Dim Alan As Range
    Dim satir As Long
    TextBox1.Text = ""
    ListBox1.RowSource = ""
    If TextBox2 <> "" Then
        For Each Alan In Range("Sayfa1!B1:B" & Sheets("Sayfa1").Cells(Rows.Count, "B").End(3).Row)
            If InStr(1, Alan.Value, TextBox2, vbTextCompare) > 0 Then
                ListBox1.AddItem
                ListBox1.List(satir, 0) = Alan.Offset(0, -1)
                ListBox1.List(satir, 1) = Alan.Value
                ListBox1.List(satir, 2) = Alan.Offset(0, 1)
                ListBox1.List(satir, 3) = Alan.Offset(0, 2)
                ListBox1.List(satir, 4) = Alan.Offset(0, 3)
                ListBox1.List(satir, 5) = Alan.Offset(0, 4)
                satir = satir + 1
            End If
        Next
    Else
        UserForm_Initialize
    End If
End Sub
. . .
 

Ekli dosyalar

Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
Hüseyin bey çok teşekkür ederim. sorunlarım çözüldü . İyi çalışmalar. görüşmek dileğiyle.
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
hüseyin bey bahsettiğim çalışma ektedir. benim bilgisayarımda ( office 2013 ) hiç bir sorun olmadan çalışmakta. yalnız 0ffice 7 , office 10 kurulu başka bilgisayarlarda şöyle bir sorun yaşıyoruz ;
1 den .... 30 a kadar proje sayfalarım var , malzemeler butonuna basınca form geliyor listbox dan arama vs. yapıp çift click ile veriyi excel sayfasına çekiyorum . birim fiyat verisini çekerken "GİRİŞ" sayfasında ki tenzilatı düşüyorum. benim bilgisayarımda sıkıntı olmuyor lakin bahsettiğim bilgisayarlarda çalıştırınca 5,17 TL olacak kalem 517,00 TL oluyor . özellikle 2. arama textboxından rose yazıp test edebilirsiniz. çözemedim bir türlü yardımcı olabilir misiniz? dosya linkim
[link=http://www.dosyayukleyin.com/do.php?id=4506]Desktop.zip[/link]
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
ActiveSheet.Cells(bshcr + 1, 6) = ListBox1.Column(1)
ActiveSheet.Cells(bshcr + 1, 7) = ListBox1.Column(2)
ActiveSheet.Cells(bshcr + 1, 8) = ListBox1.Column(3) * (1 - Sheets("GİRİŞ").Cells(4, 4))
End If
If ComboBox1.Value = "ARAS" Then
ActiveSheet.Cells(bshcr + 1, 1) = ComboBox1.Value
ActiveSheet.Cells(bshcr + 1, 3) = ListBox1.Column(4)
ActiveSheet.Cells(bshcr + 1, 4) = ListBox1.Column(5)
ActiveSheet.Cells(bshcr + 1, 5) = ListBox1.Column(0)
ActiveSheet.Cells(bshcr + 1, 6) = ListBox1.Column(1)
ActiveSheet.Cells(bshcr + 1, 7) = ListBox1.Column(2)
ActiveSheet.Cells(bshcr + 1, 8) = ""
End If
5555
ActiveSheet.Select

sorunla ilgili bölüm burası
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

I09200001 ROSE AWG 4 (59.15 KG/KM) KG 8,89 TL

ürünü için çıkması gereken hesaplama sonucu nedir ?

. . .
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
Hüseyin bey listbox a çift click yapıp excel sayfasına çektiğiniz de gelmesi gereken birim fiyat 8,89TL * (1-sheets("GİRİŞ).cells(4,4)) olmalı benim bilgisayarımda da oluyor. lakin denediğim tüm bilgisayarlarda üstteki formülün tam 100 katı geliyor. atıyorum 5,18TL terine 518,00 TL geliyor. ama bu hatayı her kalemde de yapmıyor.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Farklı bilgisayarlarda sonucun farklı olma sebebi
Bilgisayar ayarlarındaki Denetim Masası > Bölge > Ek ayarlar > Sayı
bu sekmedeki ondalık ve basamak ayraçlarından kaynaklanan bir sorun.

. . .
 
Katılım
16 Ekim 2011
Mesajlar
131
Excel Vers. ve Dili
2007
nasıl giderebilirim , bir de hüseyin bey her kalemde vermiyor aynı hatayı , makroyu çalıştırıp test ettiniz mi bilmiyorum ama ilk sırada ki akülerde mesela sorun yok ama rose vb. iletken malzemelerinde sorun oluyor. nasıl giderebiliriz.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Userformdaki kodları şunlar ile değiştirerek deneyiniz.

Kod:
Private Sub UserForm_Initialize()
'Sheets("VERİ").Unprotect Password:="aaras25"
ListBox1.ColumnCount = 6
ListBox1.RowSource = "VERİ!A2:F" & Sheets("VERİ").Cells(Rows.Count, 1).End(3).Row
ListBox1.ColumnWidths = "60;230;20;55;35;35;0"
ListBox1.ControlTipText = "Mlz Üzerine Çift Tıklayarak Veriyi Çekebilirsiniz."
'Sheets("VERİ").Protect Password:="aaras25"
ComboBox1.AddItem "ARAS"
ComboBox1.AddItem "YÜKLENİCİ"
End Sub
Private Sub TextBox1_Change()
Dim Alan As Range
Dim satir As Long
TextBox2.Text = ""
ListBox1.RowSource = ""
If TextBox1 <> "" Then
For Each Alan In Range("VERİ!A2:A" & Sheets("VERİ").Cells(Rows.Count, 1).End(3).Row)
If InStr(1, Alan.Value, TextBox1, vbTextCompare) > 0 Then
ListBox1.AddItem
ListBox1.List(satir, 0) = Alan.Value
ListBox1.List(satir, 1) = Alan.Offset(0, 1)
ListBox1.List(satir, 2) = Alan.Offset(0, 2)
ListBox1.List(satir, 3) = Alan.Offset(0, 3) * 1
ListBox1.List(satir, 4) = Alan.Offset(0, 4)
ListBox1.List(satir, 5) = Alan.Offset(0, 5)
ListBox1.List(satir, 6) = Alan.Row

satir = satir + 1
End If
Next
Else
UserForm_Initialize
End If
End Sub
Private Sub TextBox2_Change()
Dim Alan As Range
Dim satir As Long
TextBox1.Text = ""
ListBox1.RowSource = ""
If TextBox2 <> "" Then
For Each Alan In Range("VERİ!B2:B" & Sheets("VERİ").Cells(Rows.Count, "B").End(3).Row)
If InStr(1, Alan.Value, TextBox2, vbTextCompare) > 0 Then
ListBox1.AddItem
ListBox1.List(satir, 0) = Alan.Offset(0, -1)
ListBox1.List(satir, 1) = Alan.Value
ListBox1.List(satir, 2) = Alan.Offset(0, 1)
ListBox1.List(satir, 3) = Alan.Offset(0, 2) * 1
ListBox1.List(satir, 4) = Alan.Offset(0, 3)
ListBox1.List(satir, 5) = Alan.Offset(0, 4)
ListBox1.List(satir, 6) = Alan.Row
satir = satir + 1
End If
Next
Else
UserForm_Initialize
End If
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("VERİ").Unprotect Password:="aaras25"
ActiveSheet.Unprotect Password:="aaras25"
Dim bshcr As Long
bshcr = ActiveSheet.Cells(Rows.Count, "D").End(3).Row
If ComboBox1.Value = "TEMİN" Then
MsgBox "TEMİN SEÇİNİZ."
GoTo 5555
End If
If ComboBox1.Value = "YÜKLENİCİ" Then
ActiveSheet.Cells(bshcr + 1, 1) = ComboBox1.Value
ActiveSheet.Cells(bshcr + 1, 3) = ListBox1.Column(4)
ActiveSheet.Cells(bshcr + 1, 4) = ListBox1.Column(5)
ActiveSheet.Cells(bshcr + 1, 5) = ListBox1.Column(0)
ActiveSheet.Cells(bshcr + 1, 6) = ListBox1.Column(1)
ActiveSheet.Cells(bshcr + 1, 7) = ListBox1.Column(2)
ActiveSheet.Cells(bshcr + 1, 8) = Sheets("Veri").Cells(ListBox1.Column(6), "D") * (1 - Sheets("GİRİŞ").Range("D4"))
End If
If ComboBox1.Value = "ARAS" Then
ActiveSheet.Cells(bshcr + 1, 1) = ComboBox1.Value
ActiveSheet.Cells(bshcr + 1, 3) = ListBox1.Column(4)
ActiveSheet.Cells(bshcr + 1, 4) = ListBox1.Column(5)
ActiveSheet.Cells(bshcr + 1, 5) = ListBox1.Column(0)
ActiveSheet.Cells(bshcr + 1, 6) = ListBox1.Column(1)
ActiveSheet.Cells(bshcr + 1, 7) = ListBox1.Column(2)
ActiveSheet.Cells(bshcr + 1, 8) = ""
End If
5555
ActiveSheet.Select
ActiveSheet.Protect Password:="aaras25"
Sheets("VERİ").Protect Password:="aaras25"
End Sub
. . .
 
Üst