Merhaba Değerli Arkadaşlar.
2005 yılından beri bu forumda yer alıyor ve çok değerli üstadlardan faydalanıyorum.
Emeği geçen herkese sonsuz teşekkür ederim..
Bu defa konum şu;
userform üzerinde 30 adet checkbox'ım var ve teker teker(seçilen checkbox kadar)checkboxdaki sözleşme koduyla, iki tarih arasında arama yaptırmaya çalışıyorum. eşleşen ilk veri satırını bulup, aynı satırdaki diğer bilgilerin icmal sayfasına dökülmesini sağlayan bir kod yazmaya çalıştım.(2 tarih arasında)
örneğin;checkbox1de E-00 sözleşme kodu ile 2 tarih arasında işlem yapmış ofis adı, ofis numarası vs bilgiler icmal sayfasında sıralanıyor..sonra diğer seçilen checkbox captionundaki sözleşme kodu ile işlemler sıralanıyor..
Sorunum 3 yada 4 checkbox işaretlediğimde sorun yok ancak hepsini seçtiğimde userform kasıyor ve çok uzun bir süre sonra bilgileri aktarabiliyor..Yani yazdığım kod oldukça zayıf sanırım..veri satırı sayısı yaklaşık 12.000
Müsait olduğunuzda yardımcı olursanız sevinirim..
Saygılarımla,
Kodlar ;
Private Sub CommandButton3_Click()
Dim i As Byte
Set s1 = Sheets("icmal")
Set s2 = Sheets("satkroperasyon")
s1.[am4:aw50000].ClearContents
satır = 4
For i = 1 To 30
If Me.Controls("CheckBox" & i).Value = True Then
For Z = 4 To s2.[g65536].End(3).Row
If s2.Cells(Z, 7) = Me.Controls("checkbox" & i).Caption And s2.Cells(Z, 4) >= s1.[e3] And s2.Cells(Z, 4) <= s1.[g3] Then
s1.Cells(satır, 39) = s2.Cells(Z, 3)
s1.Cells(satır, 40) = s2.Cells(Z, 4)
s1.Cells(satır, 41) = s2.Cells(Z, 5)
s1.Cells(satır, 42) = s2.Cells(Z, 6)
s1.Cells(satır, 43) = s2.Cells(Z, 7)
s1.Cells(satır, 44) = s2.Cells(Z, 8)
s1.Cells(satır, 45) = s2.Cells(Z, 9)
s1.Cells(satır, 46) = s2.Cells(Z, 10)
s1.Cells(satır, 47) = s2.Cells(Z, 11)
s1.Cells(satır, 48) = s2.Cells(Z, 12)
s1.Cells(satır, 49) = s2.Cells(Z, 13)
satır = satır + 1
End If
Next Z
End If
Next i
MsgBox "TAMAMLANDI"
End Sub
2005 yılından beri bu forumda yer alıyor ve çok değerli üstadlardan faydalanıyorum.
Emeği geçen herkese sonsuz teşekkür ederim..
Bu defa konum şu;
userform üzerinde 30 adet checkbox'ım var ve teker teker(seçilen checkbox kadar)checkboxdaki sözleşme koduyla, iki tarih arasında arama yaptırmaya çalışıyorum. eşleşen ilk veri satırını bulup, aynı satırdaki diğer bilgilerin icmal sayfasına dökülmesini sağlayan bir kod yazmaya çalıştım.(2 tarih arasında)
örneğin;checkbox1de E-00 sözleşme kodu ile 2 tarih arasında işlem yapmış ofis adı, ofis numarası vs bilgiler icmal sayfasında sıralanıyor..sonra diğer seçilen checkbox captionundaki sözleşme kodu ile işlemler sıralanıyor..
Sorunum 3 yada 4 checkbox işaretlediğimde sorun yok ancak hepsini seçtiğimde userform kasıyor ve çok uzun bir süre sonra bilgileri aktarabiliyor..Yani yazdığım kod oldukça zayıf sanırım..veri satırı sayısı yaklaşık 12.000
Müsait olduğunuzda yardımcı olursanız sevinirim..
Saygılarımla,
Kodlar ;
Private Sub CommandButton3_Click()
Dim i As Byte
Set s1 = Sheets("icmal")
Set s2 = Sheets("satkroperasyon")
s1.[am4:aw50000].ClearContents
satır = 4
For i = 1 To 30
If Me.Controls("CheckBox" & i).Value = True Then
For Z = 4 To s2.[g65536].End(3).Row
If s2.Cells(Z, 7) = Me.Controls("checkbox" & i).Caption And s2.Cells(Z, 4) >= s1.[e3] And s2.Cells(Z, 4) <= s1.[g3] Then
s1.Cells(satır, 39) = s2.Cells(Z, 3)
s1.Cells(satır, 40) = s2.Cells(Z, 4)
s1.Cells(satır, 41) = s2.Cells(Z, 5)
s1.Cells(satır, 42) = s2.Cells(Z, 6)
s1.Cells(satır, 43) = s2.Cells(Z, 7)
s1.Cells(satır, 44) = s2.Cells(Z, 8)
s1.Cells(satır, 45) = s2.Cells(Z, 9)
s1.Cells(satır, 46) = s2.Cells(Z, 10)
s1.Cells(satır, 47) = s2.Cells(Z, 11)
s1.Cells(satır, 48) = s2.Cells(Z, 12)
s1.Cells(satır, 49) = s2.Cells(Z, 13)
satır = satır + 1
End If
Next Z
End If
Next i
MsgBox "TAMAMLANDI"
End Sub
