Süzülen Tablonun SpreadSheet'e aktarımı

Katılım
28 Haziran 2007
Mesajlar
206
Excel Vers. ve Dili
Excel 2003 İngilizce
Merhaba,

Ben ekteki dosyada, Form Aç butonu ile açılan UserForm içersinde yer alan SpreadSheet' e butonlar vasıtası ile excel tablosundaki süzülen verilerin aktarılmasını sağlamak istiyorum. Bu amaca yönelik olarak:

1. D sütununda yer alan "x" satıcısına göre form içindeki süz butonu ile süzdürmek ve tabloyu süzülmüş hali ile SpreadSheet içine almak
2. Ayrıca "E" sütununda yer alan ve ComboBox ile seçilen tarih kriterine göre süzdürerek, süzülmüş tablonun spreadSheet'e aktarılması.
3.İlgili "iptal butonları ile süzdürmenin kaldırılması ve tablonun Spreadsheet içinden silinmesi.
4.Spread sheete aktarılan tablonun yazdırılması

işlemlerini yaptırmak istiyorum.

Bunları nasıl düzenleyip kodlamalıyız?

İyi çalışmalar

Saygılarımla
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Sizin için bir örnek hazırladım.
Kod:
Private Sub ComboBox1_Change()
ListBox1.ColumnCount = 5
ListBox1.Clear
For SUT = 1 To [D65536].End(3).Row
If Range("d" & SUT) Like ComboBox1 & "*" Then
ListBox1.AddItem
ListBox1.List(S, 0) = Range("a" & SUT)
ListBox1.List(S, 1) = Range("b" & SUT)
ListBox1.List(S, 2) = Range("c" & SUT)
ListBox1.List(S, 3) = Range("d" & SUT)
ListBox1.List(S, 4) = Range("e" & SUT)
S = S + 1
End If
Next
End Sub

Private Sub ComboBox2_Change()
ListBox1.ColumnCount = 5
ListBox1.Clear
For SUT = 1 To [E65536].End(3).Row
If Range("E" & SUT) Like ComboBox2 & "*" Then
ListBox1.AddItem
ListBox1.List(S, 0) = Range("a" & SUT)
ListBox1.List(S, 1) = Range("b" & SUT)
ListBox1.List(S, 2) = Range("c" & SUT)
ListBox1.List(S, 3) = Range("d" & SUT)
ListBox1.List(S, 4) = Range("e" & SUT)
S = S + 1
End If
Next
End Sub

Private Sub CommandButton1_Click()
Set S1 = Sheets("Sayfa1")
Set S2 = Sheets("Sayfa2")
S2.[A1:E100].Clear
For SUT = 1 To S1.[D65536].End(3).Row
If S1.Range("D" & SUT) = ComboBox1.Value Then
S = S + 1
S2.Range("A" & S & ":E" & S) = S1.Range("A" & SUT & ":E" & SUT).Value
End If
Next
Unload Me
S2.PrintPreview
UserForm1.Show
End Sub

Private Sub CommandButton2_Click()
ComboBox1 = ""
ComboBox2 = ""
End Sub

Private Sub CommandButton3_Click()
Set S1 = Sheets("Sayfa1")
Set S2 = Sheets("Sayfa2")
S2.[A1:E100].Clear
For SUT = 1 To S1.[D65536].End(3).Row
If S1.Range("E" & SUT) = ComboBox2.Value Then
S = S + 1
S2.Range("A" & S & ":E" & S) = S1.Range("A" & SUT & ":E" & SUT).Value
End If
Next
Unload Me
S2.PrintPreview
UserForm1.Show
End Sub

Private Sub UserForm_Initialize()
ComboBox1 = "."
ComboBox1 = ""
ComboBox2 = "."
ComboBox2 = ""
ComboBox1.RowSource = "D2:D" & [D65536].End(3).Row
ComboBox2.RowSource = "E2:E" & [E65536].End(3).Row
End Sub
 
Katılım
28 Haziran 2007
Mesajlar
206
Excel Vers. ve Dili
Excel 2003 İngilizce
Merhaba,

Öncelikle emeğiniz ve ayırdığınız zaman için çok teşekkür ederim. Güzel bir çalışma olmuş.

Ancak benim uygulamam şuan kullanmakta olduğumuz ve geliştirmek istediğimiz bir çalışma. SpreadSheet üzerinden gitmeye mecburuz aslında. Dolayısı ile çözümü bu yönde oluşturmamız gerekiyor. Ben programın genelini size gönderemedim çünkü fazla teferruatları var. Ben içinde eksik kalan kısmı farklı bir çalışma ile özetleyerek sizlere gönderdim.
Süzmeleri SpreadSheete aktarmamız gerekiyor dolayısı ile. Bir de temizlemeden kastımız, tüm görüntüyü backraund formatı aynı kalmak şartı ile spread üzerinden silmekti. Bu konuda destek bulabilirsek çok makbule geçecek.

Saygılarımla
 
Üst