• DİKKAT

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

USERFORM VE VERİ SEÇİMİNE GÖRE BİLGİ ALMA

Katılım
19 Ocak 2005
Mesajlar
940
Excel Vers. ve Dili
İŞ : Microsoft Office Excel 2003
EV : Microsoft Office Excel 2003
Arkadaşlar hepinize iyi tatiller öncelikle; çalışanlarada iyi çalışmalar.

Ekli dosyayı inceleyip bana yardım edermisiniz arkadaşlar. şimdiden teşekkürler.
 
Örneğin aşağıdaki Stok Programındaki kodlar belki bu iş için kullanılabilir. tabi benim bilgim bu kadar geniş olmadığından bu çalışma kodlarını kendi çalışmama uyarlayamadım yardım ederseniz sevinirim

Private Sub CommandButton1_Click()
Set DATA = Worksheets("DATA").Range("A1")
TextBox1.Value = ""
Worksheets("Rapor").Range("A1").CurrentRegion.ClearContents
DATA.AutoFilter Field:=2, Criteria1:=ComboBox1
DATA.AutoFilter Field:=5, Criteria1:=ComboBox2
Worksheets("DATA").Range("A1").CurrentRegion.Copy Worksheets("Rapor").Range("A1")
DATA.AutoFilter
If Worksheets("Rapor").Range("A2").Value = "" Then
MsgBox "Böyle bir veri bulunamadı"
Exit Sub
End If
With ListBox1
.ColumnCount = 10
.ColumnHeads = False
.RowSource = "Rapor!A2:J" & WorksheetFunction.CountA(Worksheets("Rapor").Range("A1:A65000"))
End With
TextBox1.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("I1:I65500"))
TextBox2.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("j1:j65500"))
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii > 30 And (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 46
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = ""
Worksheets("Rapor").Range("C2").CurrentRegion.ClearContents
ComboBox1.RowSource = "DATA!C2:B" & WorksheetFunction.CountA(Worksheets("DATA").Range("C1:B65000"))
ComboBox2.RowSource = "DATA!C2:E" & WorksheetFunction.CountA(Worksheets("DATA").Range("C1:e65000"))
ListBox1.ColumnWidths = 25 & ";" & 95 & ";" & 35 & ";" & 35 & ";" & 85 & ";" & 35 & ";" & 35 & ";" & 45 & ";" & 45 & ";"
End Sub

Ayrıca bu kodların yer aldığı programda çok işlevsel ve iyi hazırlanmış. arkadaşların ellerine sağlık.
 
isteğime uygun örnekde işimi görebilir arkadaşlar.
 
Bu konuda yorumu olan yokmu arkadaşlar?
 
Userforma aşağıdaki kodu;

[vb:1:a807b5ecd1]Private Sub UserForm_Initialize()
For a = 2 To [c65536].End(3).Row
If WorksheetFunction.CountIf(Range("c2:c" & a), Cells(a, "c")) = 1 Then ComboBox1.AddItem Cells(a, "c")
Next
ListBox1.ColumnCount = 9
ListBox1.ColumnWidths = "50;50;50;50;50;50;50;50;50"
End Sub[/vb:1:a807b5ecd1]

comboboxada aşağıdaki kodu kopyalayarak deneyin.

[vb:1:a807b5ecd1]Private Sub ComboBox1_Click()
TextBox1 = WorksheetFunction.SumIf([c:c], ComboBox1, [d:d])
TextBox2 = WorksheetFunction.SumIf([c:c], ComboBox1, [g:g])
TextBox3 = WorksheetFunction.SumIf([c:c], ComboBox1, [i:i])
For sat = 2 To [c65536].End(3).Row
If Cells(sat, "c") = ComboBox1 Then
c = c + 1
For sut = 1 To 9
ListBox1.AddItem
ListBox1.List(c - 1, sut - 1) = Cells(sat, sut)
Next
End If
Next
End Sub[/vb:1:a807b5ecd1]
 
Çalışmanız güncellenmiştir.
ekli dosyaya bakınız

saygılar sevgiler
Çalışmalarınızda başarılar dilerim.
 
Levent ustadım kodlarınızı görmedim gayet güzel şimdi denedim.
yalnız
Kod:
TextBox3 = WorksheetFunction.SumIf([c:c], ComboBox1, [i:i])
kısmında hata verdi
Kod:
TextBox3 = WorksheetFunction.SumIf([c:c], ComboBox1, [I:I])
yapınca düzeldi. çok teşekkür ederim sayenizde bir kode daha öğrenmiş olduk.
saygılar sunar
çalışmalarınızda başarılar temennilerimle üstad
:D :D :D :ok:: :ok::
 
SN: leventm hocam ve abdi kardeş çok teşekkür ederim. iyi çalışmalar dileklerimle.
 
Arkadaşlar aşağıdaki satırda veri görüntüle işleminde bu satırda hata veriyor!!!


Private Sub CommandButton1_Click()
Set DATA = Sayfa1

'TextBox1.Value = ""
Worksheets("Rapor").Range("A2").CurrentRegion.ClearContents
Sayfa1.Select
Selection.AutoFilter Field:=3, Criteria1:=ComboBox1.Value
'DATA.AutoFilter Field:=5, Criteria1:=ComboBox2
Worksheets("Sayfa1").Range("A1").CurrentRegion.Copy Worksheets("Rapor").Range("A1")
'Sayfa1.Range("A1").CurrentRegion.Copy Sayfa2.Range("A1").Paste

Sayfa1.Select
Selection.AutoFilter
If Worksheets("Rapor").Range("A2").Value = "" Then
MsgBox "Böyle bir veri bulunamadı"
Exit Sub
End If
With ListBox1
.ColumnCount = 10
.ColumnHeads = False
.RowSource = "Rapor!A2:I" & WorksheetFunction.CountA(Worksheets("Rapor").Range("A1:A65000"))
End With
TextBox1.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("d2:d65500")) 'fatura toplamı
TextBox2.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("g2:g65500")) 'gelecek havale toplamı
TextBox3.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("ı2:ı65500")) 'iskontolu havale toplamı
'Sayfa2.Visible = xlSheetHidden

Label5.Caption = " FT Tarihi FT No'su FT TUTARI FT VADESİ ÖDEME GÜNÜ GELECEK HVL İSK. ORN İSKONTOLU HAVALE"
Label5.BackColor = &HC0FFFF


'TextBox2.Text = WorksheetFunction.Sum(Worksheets("Rapor").Range("j1:j65500"))
End Sub
 
ocamsul' Alıntı:
Arkadaşlar aşağıdaki satırda veri görüntüle işleminde bu satırda hata veriyor!!!

Kod:
Private Sub CommandButton1_Click()
Set DATA = Sayfa1

'TextBox1.Value = ""
Worksheets("Rapor").Range("A2").CurrentRegion.ClearContents
Sayfa1.Select
[u][b]Selection.AutoFilter Field:=3, Criteria1:=ComboBox1.Value[/b][/u]
'DATA.AutoFilter Field:=5, Criteria1:=ComboBox2
Worksheets("Sayfa1").Range("A1").CurrentRegion.Copy Worksheets
End Sub
aşağıdaki satırı
Kod:
Sayfa1.Select
bu aşağıdaki kod bloğu ile değiştirin
Kod:
Sayfa1.Range("a1").Select

Tümleşik veri olmayan yerde (yani kısacası verilerimizin başlangıç hücresinde olmadığımız için hata veriyor.

saygılar sevgiler
çalışmalarınızda başarılar dilerim.
 
Sn: abdi çok teşekkür ederim.
 
Sayın: abdi bu konuyu çözdük. çok teşekkür ederim. ancak. benim şimdiki sorunum şu bu çalışma ofıce 97 de yanlış hatırlamıyosam tabi ofis versiyonunu yani. çalışmıyo uyarı veriyormuş. sizce neden olabilir mesela ilk açılışta hata ayıklama soruyormuş o işlem yapıldıktan sonra bir daha user form açılmışyomuş bunun nedeni ne olabilir sizce?
 
Sanırım filtreleme kodları 97 sürümünde farklı olabilir bu yüzden hata veriyodur büyük ihtimalle office 97 üzerinde herhangi bir sıralı liste üzerinde makro kaydet yaparak veri süz işlemi ni uygulayın daha sonra benim süzme kodlarını yeni elde ettiğiniz değerler ile değiştirin. yapmanız gereken bu elimde 97 sürümü olmadığı için bu şekilde çözüm önerebilirim.




saygılar sevgiler
çalışmalrınızda başarılar dilerim.
 
teşekkür ederim. bende burada baktım. deniyecektim ama diğer pc lerde ya 2000 yada 2003 var artık başka bir yerden bulup denicem. ilginize teşekkür ederim Sn. Abdi.
 
Selamlar,

Yukarıda geçen "TextBox1 = WorksheetFunction.SumIf([c:c], ComboBox1, [d:d])"
kodunun açıklamasını paylaşırsanız sevinirim.

Teşekkürler.
 
Geri
Üst