- Katılım
- 8 Mart 2009
- Mesajlar
- 504
- Excel Vers. ve Dili
- 2010
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Tablo_Doldur()
Dim alan1 As Range
Dim alan2 As Range
Dim alan3 As Range
Dim tar1, tar2 As Date
Set alan1 = Worksheets(1).Range("c7:c39000")
Set alan2 = Worksheets(1).Range("e7:e39000")
Set alan3 = Worksheets(2).Range("c6:k11")
tar1 = Sheets("Sayfa2").Range("a1")
tar2 = Sheets("Sayfa2").Range("a2")
Dim VV As Integer
V = Array("", "ARMUT", "BAHÇE", "DUVAR", "KAPI", "SİLGİ", "BARDAK")
h = Array("", "HAVA", "KİRAZ", "YAZICI", "EVE", "DUMANLI", "SAĞLIĞA", "GÜZEL", "İNSAN", "ALİ")
For i = 1 To alan1.Cells.Count
10:
If alan1.Cells(i).Value = "" Then Exit For
V1Adres = 0
H1Adres = 0
If alan1.Cells(i).Offset(0, -2).Value >= tar1 And alan1.Cells(i).Offset(0, -2).Value <= tar2 Then
Başlık1 = alan1.Cells(i).Value
For j = 1 To 6
V1 = V(j)
If V1 = Başlık1 Then
V1Adres = j
For t = 1 To 9
30:
If t > 9 Then Exit For
H1 = h(t)
VV = InStr(1, (Left(alan2.Cells(i).Value, 30)), H1, vbTextCompare)
If VV < 31 And VV > 0 Then
H1Adres = t
alan3.Cells(V1Adres, H1Adres).Value = alan3.Cells(V1Adres, H1Adres).Value + 1
Else
t = t + 1
GoTo 30
End If
Next t
End If
If V1Adres <> 0 Or H1Adres <> 0 Then
Exit For
End If
Next j
Else
20:
i = i + 1
GoTo 10
End If
Next
End Sub
=TOPLA.ÇARPIM((Sayfa1!$A$7:$A$1000>=$A$1)*(Sayfa1!$A$7:$A$1000<=$A$2)*(Sayfa1!$C$7:$C$1000=$B6)*ESAYIYSA(MBUL(C$5;SOLDAN(Sayfa1!$E$7:$E$1000;30);1)))
Sub Tablo_Doldur()
Dim alan1 As Range
Dim alan2 As Range
Dim alan3 As Range
Dim tar1, tar2 As Date
Dim veri(9)
Dim VV As Integer
Set alan1 = Worksheets(1).Range("c7:c39000")
Set alan2 = Worksheets(1).Range("e7:e39000")
Set alan3 = Worksheets(2).Range("c6:k11")
tar1 = Sheets("Sayfa2").Range("a1")
tar2 = Sheets("Sayfa2").Range("a2")
For w = 1 To 9
veri(w) = alan3.Cells(w).Offset(-1, 0).Value
Next w
V = Array("", "ARMUT", "BAHÇE", "DUVAR", "KAPI", "SİLGİ", "BARDAK")
h = Array("", veri(1), veri(2), veri(3), veri(4), veri(5), veri(6), veri(7), veri(8), veri(9))
For i = 1 To alan1.Cells.Count
10:
If alan1.Cells(i).Value = "" Then Exit For
V1Adres = 0
H1Adres = 0
If alan1.Cells(i).Offset(0, -2).Value >= tar1 And alan1.Cells(i).Offset(0, -2).Value <= tar2 Then
Başlık1 = alan1.Cells(i).Value
For j = 1 To 6
V1 = V(j)
If V1 = Başlık1 Then
V1Adres = j
For t = 1 To 9
30:
If t > 9 Then Exit For
H1 = h(t)
VV = InStr(1, (Left(alan2.Cells(i).Value, 30)), H1, vbTextCompare)
If VV < 31 And VV > 0 Then
H1Adres = t
alan3.Cells(V1Adres, H1Adres).Value = alan3.Cells(V1Adres, H1Adres).Value + 1
Else
t = t + 1
GoTo 30
End If
Next t
End If
If V1Adres <> 0 Or H1Adres <> 0 Then
Exit For
End If
Next j
Else
20:
i = i + 1
GoTo 10
End If
Next
End Sub
excel03, yardımlarınız için teşekkürler, ancak makroyu her çalıştırdığımda tablonun içindeki rakamlar katlanarak büyüyüp gidiyor, (Örn: 1 ise makroyu çalıştırdığımda 2 oluyor birdaha çalıştırdığımda 3 oluyor, 2 ise 4 oluyor birdaha çalıştırdığımda 6 oluyor böyle sürekli artarak devam ediyor.)
..............
Set alan2 = Worksheets(1).Range("e7:e39000")
Set alan3 = Worksheets(2).Range("c6:k11")
alan3.ClearContents '< Bu satırı ekleyiniz.
tar1 = Sheets("Sayfa2").Range("a1")
tar2 = Sheets("Sayfa2").Range("a2")
..............