TextBox ile arama konusunda önerileriniz...

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba Hüseyin Bey.
Bu haliyle tamam denebilir. İstenileni veriyor. Tabi en önemlisi çalışıyor. :)
Bu aşağıdaki kod içerisinde şu satır hep dikkatimi çekiyor, üzerinde değişiklikler yapmaya çalışıyordum.

ListBox1.RowSource = "Satış!A1:V" & Sheets("Satış").Cells(Rows.Count, "A").End(xlUp).Row

Bu satırın işlevi nedir? Örbeğin benim verilerim A dan V ye kadar değil "U" ya kadar. V sütununda 0 değerinde bir şeyler çıkıyor. Anlamadım. Diğer husus "başlığın sabit kalması" idi. Acaba diyorum "Satış!A1:V" değişse ne olur? Örneğin "Satış!A2:V2" gibi.

Bir konuda arama ad ve soyad beraber arıyor. Ama sıralama karışık gibi. Çok önemli değil ama...


Saygılarımla...
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Merhaba Hüseyin Bey.
Bu haliyle tamam denebilir. İstenileni veriyor. Tabi en önemlisi çalışıyor. :)
Bu aşağıdaki kod içerisinde şu satır hep dikkatimi çekiyor, üzerinde değişiklikler yapmaya çalışıyordum.

ListBox1.RowSource = "Satış!A1:V" & Sheets("Satış").Cells(Rows.Count, "A").End(xlUp).Row

Bu satırın işlevi nedir? Örbeğin benim verilerim A dan V ye kadar değil "U" ya kadar. V sütununda 0 değerinde bir şeyler çıkıyor. Anlamadım. Diğer husus "başlığın sabit kalması" idi. Acaba diyorum "Satış!A1:V" değişse ne olur? Örneğin "Satış!A2:V2" gibi.

Bir konuda arama ad ve soyad beraber arıyor. Ama sıralama karışık gibi. Çok önemli değil ama...

Saygılarımla...
V sutunu 22 sutun olarak kullandım arama yapıp listbox1. son kısmına giderseniz orada satır numarasını buluyor buda değiştir butonu için nereyi değiştirmesi gerektiğini bulması için ayarlama yapmak zorunda kaldım..

Eğer bu koddaki "Satış!A1:V" işlemini "Satış!A2:V2" yaparsanız dosya arama yapamaz ve listboxta sadece hep başlıklar kalır. Yine aynı yerde "Satış!A1:V" isminde A1 'i A2 yaparsanız bu sefer değiştir butonu altındaki kodlardada değişiklik yapmak zorunda kalırız :) şuan kodlar bu şekilde kalsın başlıklar için ben bir düzenleme bulmaya çalışırım.


İyi Çalışmalar.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Allah razı olsun. Bu haliyle ihtiyacıma cevap veriyor. Başlık konusuda çözülürse pek güzel olacak.
Ben forumda örnek dosyalarda görmüştüm ama. Sanırım Listviecle ListBox farklı şeyler.
ListVievle yapılan bir örnek çalışma harika ötesi birşeydi. Sütün genişlikleri bile fareyle ayarlanabiliyordu.

Size de iyi çalışmalar.
Allahrazı olsun.
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Allah razı olsun. Bu haliyle ihtiyacıma cevap veriyor. Başlık konusuda çözülürse pek güzel olacak.
Ben forumda örnek dosyalarda görmüştüm ama. Sanırım Listviecle ListBox farklı şeyler.
ListVievle yapılan bir örnek çalışma harika ötesi birşeydi. Sütün genişlikleri bile fareyle ayarlanabiliyordu.

Size de iyi çalışmalar.
Allahrazı olsun.
Başlıklar eklendi incelermisin. 17 nolu mesajı guncelledim.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Ben şu an işten çıkmak üzereyim. Evde inşallah inceleyip tekrar döneceğim.
Lakin güncellediğiniz dosyadan önceki dosyada şöyle bir sorun vardı. Belki başlıkla alakalı...
arama yapıp bulduğum veriyi "düzelt" butonu ile düzeltince başlığı bozuyordu. Yani başlığa mükerrer kayıt yapıyordu... Dosyayı inceleyip döneceğim Hüseyin Bey. Hakkınızı helal edin.
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba Hüseyin Bey.

1) Başlıkta uyguladığınız grid sadece görsel olarak orada sabit. Arama yaptığımda başlık bilgileri de aranıp veri gibi davranıyor.
2) Daha önce "arşive gönder" butonum listboxtan veri seçilmezse uyarı veriyordu. Şimdi uyarı vermeksizin işlem yapıyor ve texboxlar boş dahi olsa defalarca işlem yapıyor.
3) birinci sıradaki veriyi arşive atıyor ama satırdan silmiyor. Her arşive at dediğimde defalarca arşive atıyor. Bu sorun sizle alakalı mı bilemiyorum? Ama daha önce böyle bir sorun yoktu...

Bunların dışında sorun yok inşallah...
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Merhaba Hüseyin Bey.

1) Başlıkta uyguladığınız grid sadece görsel olarak orada sabit. Arama yaptığımda başlık bilgileri de aranıp veri gibi davranıyor.
2) Daha önce "arşive gönder" butonum listboxtan veri seçilmezse uyarı veriyordu. Şimdi uyarı vermeksizin işlem yapıyor ve texboxlar boş dahi olsa defalarca işlem yapıyor.
3) birinci sıradaki veriyi arşive atıyor ama satırdan silmiyor. Her arşive at dediğimde defalarca arşive atıyor. Bu sorun sizle alakalı mı bilemiyorum? Ama daha önce böyle bir sorun yoktu...

Bunların dışında sorun yok inşallah...
Başlık hala problem :(

Arşive aktar butonu için bişey yapmamıştım ama diğer kodlardan oda karışmış sanırım onun kodlarını aşağıdaki ile değiştirirmisiniz.

bende arşive attığı satırı siliyor yeni kodlarla tekrar bir deneyin olmassa..

Kod:
Private Sub CommandButton6_Click()

If TextBox2.Value <> ListBox1.Column(1) Or TextBox3.Value <> ListBox1.Column(2) Then
MsgBox "Lütfen Veri Seçiniz"
Exit Sub
End If

If ListBox1.ListCount > 0 Then
Lab = ListBox1.ListIndex + 2
Else
MsgBox "listede hiç veri yok"
Exit Sub
End If

If Lab <= 0 Then
MsgBox "listeden veri seçiniz"
Exit Sub
End If


Dim A, S As Worksheet
Dim say As Integer
Dim ara As String
Dim BUL As Range
Set S = Worksheets("Satış")
Set A = Worksheets("Arşiv")
say = WorksheetFunction.CountA(A.Range("A2:A65536")) + 1

A.Cells(say + 1, 1).Value = CDate(TextBox1.Value)
A.Cells(say + 1, 2).Value = TextBox2.Value
A.Cells(say + 1, 3).Value = TextBox3.Value
A.Cells(say + 1, 4).Value = TextBox4.Value
A.Cells(say + 1, 5).Value = ComboBox1.Value
A.Cells(say + 1, 6).Value = ComboBox2.Value
A.Cells(say + 1, 7).Value = TextBox5.Value
A.Cells(say + 1, 8).Value = TextBox6.Value
A.Cells(say + 1, 9).Value = TextBox7.Value
A.Cells(say + 1, 10).Value = ComboBox3.Value
A.Cells(say + 1, 11).Value = ComboBox4.Value
A.Cells(say + 1, 12).Value = TextBox8.Value
A.Cells(say + 1, 13).Value = ComboBox5.Value
A.Cells(say + 1, 14).Value = ComboBox6.Value
A.Cells(say + 1, 15).Value = ComboBox7.Value
A.Cells(say + 1, 16).Value = ComboBox8.Value
A.Cells(say + 1, 17).Value = ComboBox9.Value
A.Cells(say + 1, 18).Value = ComboBox10.Value
A.Cells(say + 1, 19).Value = ComboBox11.Value
A.Cells(say + 1, 20).Value = TextBox9.Value
A.Cells(say + 1, 21).Value = TextBox10.Value

ara = TextBox3.Value
Set BUL = S.Range("C3:C65536").Find(ara, , xlValues, xlWhole)
If Not BUL Is Nothing Then
Range(S.Cells(BUL.Row, 1), S.Cells(BUL.Row, 22)).Delete Shift:=xlUp
End If
ActiveWorkbook.Save

MsgBox " Bu kişi genel listeden çıkartılıp arşive alındı", vbCritical, "UYARI"
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
On Error Resume Next
For X = 1 To 11
Controls("ComboBox" & X).Clear
Next X
TextBox1.SetFocus
End Sub
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba Hüseyin Bey. Kodları denedim ama, farkettimki aralardan bazı kayıtları arşive atıyor. Seçtiğimi değil. Acaba satır sayısıyla br alakası var mı?
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba Hüseyin Bey.
Şöyle bir sorun var. Bu mükerrer kayıttan mı kaynaklanıyor bilemiyorum. Ancak listede aynı ad ile kayıtlı bir başka kayıt var ise ilk önce kayıt edilmiş olanı arşive aktarıyor.
Örneğin siz deneme1, deneme2 diye kayıtlar oluşturmuşsunuz. Bu kayıtlardan bir tane daha yeni kayıt oluşturduğumuzda ilk kaydı arşive atıyor. Yani seçtiğim satır arşive atılmıyor...

Not: Arama kriteri olarak kabul ediyorsa telefon ve il araması yapmadım...
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Merhaba Hüseyin Bey.
Şöyle bir sorun var. Bu mükerrer kayıttan mı kaynaklanıyor bilemiyorum. Ancak listede aynı ad ile kayıtlı bir başka kayıt var ise ilk önce kayıt edilmiş olanı arşive aktarıyor.
Örneğin siz deneme1, deneme2 diye kayıtlar oluşturmuşsunuz. Bu kayıtlardan bir tane daha yeni kayıt oluşturduğumuzda ilk kaydı arşive atıyor. Yani seçtiğim satır arşive atılmıyor...

Not: Arama kriteri olarak kabul ediyorsa telefon ve il araması yapmadım...
Kodlarda listbox satırına ait olanları aktarıyor fakat silerken ilk ismi siliyor aynı isimden birden fazla var ise ilk kaydı siler kodları ben seçilen satırı silmesi için ayarlıyorum tekrardan..

Kod:
Private Sub CommandButton6_Click()

If TextBox2.Value <> ListBox1.Column(1) Or TextBox3.Value <> ListBox1.Column(2) Then
MsgBox "Lütfen Veri Seçiniz"
Exit Sub
End If

If ListBox1.ListCount > 0 Then
Lab = ListBox1.ListIndex + 2
Else
MsgBox "listede hiç veri yok"
Exit Sub
End If

If Lab <= 0 Then
MsgBox "listeden veri seçiniz"
Exit Sub
End If


Dim A, S As Worksheet
Dim say As Integer
Dim ara As String
Dim BUL As Range
Set S = Worksheets("Satış")
Set A = Worksheets("Arşiv")
say = WorksheetFunction.CountA(A.Range("A2:A65536")) + 1

A.Cells(say + 1, 1).Value = CDate(TextBox1.Value)
A.Cells(say + 1, 2).Value = TextBox2.Value
A.Cells(say + 1, 3).Value = TextBox3.Value
A.Cells(say + 1, 4).Value = TextBox4.Value
A.Cells(say + 1, 5).Value = ComboBox1.Value
A.Cells(say + 1, 6).Value = ComboBox2.Value
A.Cells(say + 1, 7).Value = TextBox5.Value
A.Cells(say + 1, 8).Value = TextBox6.Value
A.Cells(say + 1, 9).Value = TextBox7.Value
A.Cells(say + 1, 10).Value = ComboBox3.Value
A.Cells(say + 1, 11).Value = ComboBox4.Value
A.Cells(say + 1, 12).Value = TextBox8.Value
A.Cells(say + 1, 13).Value = ComboBox5.Value
A.Cells(say + 1, 14).Value = ComboBox6.Value
A.Cells(say + 1, 15).Value = ComboBox7.Value
A.Cells(say + 1, 16).Value = ComboBox8.Value
A.Cells(say + 1, 17).Value = ComboBox9.Value
A.Cells(say + 1, 18).Value = ComboBox10.Value
A.Cells(say + 1, 19).Value = ComboBox11.Value
A.Cells(say + 1, 20).Value = TextBox9.Value
A.Cells(say + 1, 21).Value = TextBox10.Value

If ListBox1.Column(21) = 0 Or ListBox1.Column(21) = "" Then
satır = ListBox1.ListIndex + 2
Else
satır = ListBox1.Column(21)
End If

Range(S.Cells(satır, 1), S.Cells(satır, 22)).Delete Shift:=xlUp
Call UserForm_Initialize
ActiveWorkbook.Save

MsgBox " Bu kişi genel listeden çıkartılıp arşive alındı", vbCritical, "UYARI"
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
On Error Resume Next
For X = 1 To 11
Controls("ComboBox" & X).Clear
Next X
TextBox1.SetFocus
End Sub
 
Son düzenleme:
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Teşekkürler Hüseyin Bey.
Allah razı olsun çok harika oldu. Yalnız ben biraz kurcaladım ama anlayamadım.
ComboBoxları TextBoxlar gibi boşaltıyor. ComboBoxları resetlemesini nasıl sağlarım?
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Teşekkürler Hüseyin Bey.
Allah razı olsun çok harika oldu. Yalnız ben biraz kurcaladım ama anlayamadım.
ComboBoxları TextBoxlar gibi boşaltıyor. ComboBoxları resetlemesini nasıl sağlarım?
vermiş olduğum kodların altında bulunan aşağıdaki kod sizin bütün comboboxlarınızı temizliyor. o alanı silerseniz temizleme işlemini iptal eder..

İyi Çalışmalar.

Kod:
On Error Resume Next
For X = 1 To 11
Controls("ComboBox" & X).Clear
Next X
 
Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Çok Teşekkür ederim Hüseyin Bey.
Ememğinize, bilginize sağlık. Hakkınızı helal edin lütfen.
 

scooby

Altın Üye
Katılım
15 Aralık 2016
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
06-12-2024
bendeki dosyada hepsi aktarılıyor heralde başka bir yerdede düzeltme yaptım dosyayı yukluyorum tekrar kontrol edermisiniz.
Allah razı olsun
 
Üst