• DİKKAT

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

kod sadeleştirme nasıl yaparım

Katılım
24 Şubat 2007
Mesajlar
31
Excel Vers. ve Dili
2003 tr
Set rng = Range("A2:G2")

Cells(2, 8).Value = WorksheetFunction.CountIf(rng, TextBox107.Text)
Cells(2, 9).Value = WorksheetFunction.CountIf(rng, TextBox108.Text)
Cells(2, 10).Value = WorksheetFunction.CountIf(rng, TextBox109.Text)
Cells(2, 11).Value = WorksheetFunction.CountIf(rng, TextBox110.Text)
Cells(2, 12).Value = WorksheetFunction.CountIf(rng, TextBox111.Text)
Cells(2, 13).Value = WorksheetFunction.CountIf(rng, TextBox112.Text)

Set rng = Range("A3:G3")

Cells(3, 8).Value = WorksheetFunction.CountIf(rng, TextBox107.Text)
Cells(3, 9).Value = WorksheetFunction.CountIf(rng, TextBox108.Text)
Cells(3, 10).Value = WorksheetFunction.CountIf(rng, TextBox109.Text)
Cells(3, 11).Value = WorksheetFunction.CountIf(rng, TextBox110.Text)
Cells(3, 12).Value = WorksheetFunction.CountIf(rng, TextBox111.Text)
Cells(3, 13).Value = WorksheetFunction.CountIf(rng, TextBox112.Text)

.........................
.........................
.........................

Arkadaşlar bu şekilde yüzlerce satırlık kodları nasıl sadeleştirebilirim.
Yani Range("A2:G2") kodu için bir döngü oluşturabilirmiyiz.
 
Yukarıdaki Formulu sadeleştirip içerisine açıklama yazdım siz kodu inceleyerek kendi kullandığız dosyanın içerisine uygulayabilirsiniz.


Kod:
For i = 2 To 3
For b = 8 To 13
'Bu hangi hucrelerde yapıcaksanız okadar olacak Ornekte A2 ve A3 diye devam ettiği için 2 To 3 Kullandım
Set Rng = Range("A" & i & ":G" & i)
'textbox lar 107 den başlayıp 112 ye gidiyordu b= 8 den başladığı için b-1 ile 7den başlattım fakat 2 haneli
'rakamlara geçince textbox1010 olacağı için if formulu kurdum. bu formuller sadece yukarıdaki işlemin kısaltılmışıdır.
'kendi düzeletmelerinizi sizdeki kodlara gore aynı mantıkta uyarlayabilirsiniz.
If b > 9 Then
Cells(i, b).Value = WorksheetFunction.CountIf(Rng, Controls("TextBox1" & b - 1).Text)
Else
Cells(i, b).Value = WorksheetFunction.CountIf(Rng, Controls("TextBox10" & b - 1).Text)
End If

Next b
Next i

End Sub
 
Sayın Huseyinkis,
Çok teşekkür ederim. Yazdığınız kodlar işime çok yaradı ve çalışıyor.
Elinize emeğinize sağlık.
Bilgi paylaşıldıkça güzeldir.
Sizlerden öğreneceğimiz çok şey var.
 
Geri
Üst