• DİKKAT

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

Userform ile arama yapma ve değiştirme

Katılım
25 Temmuz 2008
Mesajlar
2
Excel Vers. ve Dili
2007 TÜRKÇE
Örnek dosyadaki gibi bir dosya var ama gerçekte 2000-2500 satır 30 kadar sütundan oluşuyor...
Amacım Userform da sipariş numarasını yazınca o siparişe ait kırmızı boyadığım yerlerin gelmesi ve değişiklik yapıp kaydetmek.. ya da işimi kolaylaştırmak için
buna benzer ne yapabiliirm.. Kırmızı alandaki verileri her sabah gelen verilere göre güncelliyorum bunu daha hızlı yapmam gerek.

http://dosya.co/z09dh8owus6j/Kitap1.xlsx.html
 
Merhaba, foruma hoşgeldiniz.

Forum sayfalarının üst orta kısımlarında ARAMA yaparak, birçok örnek bulabilirsiniz.
Beğendiğiniz/işinize yarayacak gibi görünen birini seçin ve kendi ihtiyacınıza göre uyarlamaya çalışın.
Uyarlama işlemi sırasında sorun yaşarsanız, forumdan, örnek dosya üzerinden ve isteğinizi net şekilde ifade ederek destek isteyin.
Bir üye mutlaka cevap yazacaktır.
.
 
Dosyayı kontrol ediniz ... Eksik bıraktığınız userform açma , label textbox tuş yerleştirme yapıldı ancak , zaman kaybedildi . Sorularınızda altyapıyı sşz hazırlarsanız çözecek olana ikinci iş zorunluğu yaratmamış olursunuz. Ayrıca bu şekilde " ben öyle istemedim" yazışmaları da engellenmiş olur.

Bul kodları

Kod:
Private Sub CommandButton1_Click()
Dim k As Range
If ComboBox1.Value = "" Then Exit Sub
Set k = Range("a2:a65536").Find(ComboBox1.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    k.Select
    k.Value = ComboBox1.Value
     TextBox1.Value = k.Offset(0, 4).Value
     TextBox2.Value = k.Offset(0, 5).Value
     TextBox3.Value = k.Offset(0, 6).Value
     TextBox4.Value = k.Offset(0, 7).Value
     TextBox5.Value = k.Offset(0, 8).Value
     TextBox6.Value = k.Offset(0, 9).Value
     TextBox7.Value = k.Offset(0, 10).Value
     TextBox8.Value = k.Offset(0, 11).Value
      
    Else
    MsgBox "Aranılan  No Bulunamadı..!!", vbCritical, " NO"
End If

MsgBox "Sipariş no ile Seçtiğiniz kayıt bulundu.", vbInformation
ThisWorkbook.Save
End Sub

Değiştir kodları

Kod:
Private Sub CommandButton2_Click()
 If ActiveCell.Row < 2 Then
        MsgBox "İlk önce BUL ile değiştirmek istediğiniz veriyi bulmalısınız!", vbCritical
        Exit Sub
    End If
        Onay = MsgBox("Seçtiğiniz kayıt değiştirilecektir! Onaylıyor musunuz?", vbExclamation + vbYesNo)
    If Onay = vbNo Then Exit Sub
      
    ActiveCell.Offset(0, 4) = TextBox1
    ActiveCell.Offset(0, 5) = TextBox2
    ActiveCell.Offset(0, 6) = TextBox3
    ActiveCell.Offset(0, 7) = TextBox4
    ActiveCell.Offset(0, 8) = TextBox5
    ActiveCell.Offset(0, 9) = TextBox6
    ActiveCell.Offset(0, 10) = TextBox7
    ActiveCell.Offset(0, 11) = TextBox8
  
       
    MsgBox "Seçtiğiniz kayıt değiştirilmiştir.", vbInformation
    ThisWorkbook.Save
 End Sub
 

Ekli dosyalar

Son düzenleme:
Dosyayı kontrol ediniz ... Eksik bıraktığınız userform açma , label textbox tuş yerleştirme yapıldı ancak , zaman kaybedildi . Sorularınızda altyapıyı sşz hazırlarsanız çözecek olana ikinci iş zorunluğu yaratmamış olursunuz. Ayrıca bu şekilde " ben öyle istemedim" yazışmaları da engellenmiş olur.

Bul kodları

Kod:
Private Sub CommandButton1_Click()
Dim k As Range
If ComboBox1.Value = "" Then Exit Sub
Set k = Range("a2:a65536").Find(ComboBox1.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    k.Select
    k.Value = ComboBox1.Value
     TextBox1.Value = k.Offset(0, 4).Value
     TextBox2.Value = k.Offset(0, 5).Value
     TextBox3.Value = k.Offset(0, 6).Value
     TextBox4.Value = k.Offset(0, 7).Value
     TextBox5.Value = k.Offset(0, 8).Value
     TextBox6.Value = k.Offset(0, 9).Value
     TextBox7.Value = k.Offset(0, 10).Value
     TextBox8.Value = k.Offset(0, 11).Value
      
    Else
    MsgBox "Aranılan  No Bulunamadı..!!", vbCritical, " NO"
End If

MsgBox "Sipariş no ile Seçtiğiniz kayıt bulundu.", vbInformation
ThisWorkbook.Save
End Sub

Değiştir kodları

Kod:
Private Sub CommandButton2_Click()
 If ActiveCell.Row < 2 Then
        MsgBox "İlk önce BUL ile değiştirmek istediğiniz veriyi bulmalısınız!", vbCritical
        Exit Sub
    End If
        Onay = MsgBox("Seçtiğiniz kayıt değiştirilecektir! Onaylıyor musunuz?", vbExclamation + vbYesNo)
    If Onay = vbNo Then Exit Sub
      
    ActiveCell.Offset(0, 4) = TextBox1
    ActiveCell.Offset(0, 5) = TextBox2
    ActiveCell.Offset(0, 6) = TextBox3
    ActiveCell.Offset(0, 7) = TextBox4
    ActiveCell.Offset(0, 8) = TextBox5
    ActiveCell.Offset(0, 9) = TextBox6
    ActiveCell.Offset(0, 10) = TextBox7
    ActiveCell.Offset(0, 11) = TextBox8
  
       
    MsgBox "Seçtiğiniz kayıt değiştirilmiştir.", vbInformation
    ThisWorkbook.Save
 End Sub
çok teşekkür ederim sizleri de yordum kusura bakmayın.
 
Kusurluk bir şey yok , buradaki anafikir elden geldiğince çok dosyaya bakarak mümkün ise çözmek ve sonradan benzer sorusu olana - açık kodlar sayfada olarak - kendi kendine çözüm ve program yazmayı başarma şansı vermektir.

Tabii burada destek amaçlı yönetim olsa da program yazmakla görevli belli bir kadro yok, olan herkes kendi zamanından uygun vakti ayırıyor ve imece usulü çözebildiği şekilde problem hallediliyor. Bu yüzden fikri fiziken oturtulmamış dosyaların yardım alma şansı çok azalıyor, zira kimse olasılıkla beğenilmeyecek bir yeni yapılandırmaya zaman harcamayabilir. Sizde en azından dosya ve örnek data vardı :)


Dosyaya ;

otomatik userform açma ,
sayfa üzerinden tuş ile userform açma ,
userform üzerindeki açılır kutuya 3000 satıra bakma ,
userformu şartlı kapatma özellikleri

eklendi...

ve bu şekilde daha rahat kullanılabileceği düşüncesi ile ekteki dosya değiştirildi .

İyi çalışmalar
 
Geri
Üst