DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub YeniListe()
Dim Dizi
Set Dizi = CreateObject("Scripting.Dictionary")
SonSut = Range("XFD1").End(xlToLeft).Column
SonSat = Range("A" & Rows.Count).End(xlUp).Row
Dizi = Range("A2").Resize(SonSat - 1, SonSut).Value
ReDim Liste(1 To SonSat - 1, 1 To SonSut)
For i = 1 To SonSat - 1
SatırOk = False
Yaz = 6
For k = 13 To SonSut Step 7
Topla = 0
Topla = Dizi(i, k + 4) + Dizi(i, k + 5) + Dizi(i, k + 6)
If Topla > 0 Then
If SatırOk = False Then
SatırOk = True
Say = Say + 1
For x = 1 To 12
Liste(Say, x) = Dizi(i, x)
Next x
End If
Yaz = Yaz + 7
For j = 0 To 6
Liste(Say, Yaz + j) = Dizi(i, k + j)
Next j
End If
MaxSütun = WorksheetFunction.Max(MaxSütun, Yaz + 6)
Next k
Next i
Worksheets("Sayfa3").Cells.Clear
If Say > 0 Then
Worksheets("Sayfa3").Range("A1:L1") = Range("A1:L1")
Range("A1:L1").Copy Worksheets("Sayfa3").Range("A1:L1")
For x = 13 To MaxSütun Step 7
Range("M1:S1").Copy Worksheets("Sayfa3").Range("A1").Offset(0, x - 1).Resize(1, 7)
Next x
Worksheets("Sayfa3").Range("A2").Resize(Say, MaxSütun) = Liste
End If
End Sub
Sub YeniListe2()
'Ürün numaralarına göre alt alta yeni satıra yazılıyor
Dim Dizi, Liste
Dim Say As Integer, k As Integer, x As Integer, Topla As Long
Dim SonSat As Long, SonSut As Integer
Dim ilk As Integer, Renk As Byte
If ActiveSheet.Name <> "Sayfa1" Then Exit Sub
Set Dizi = CreateObject("Scripting.Dictionary")
Dizi = Range("A1").Resize(Range("A" & Rows.Count).End(xlUp).Row, Range("XFD1").End(xlToLeft).Column).Value
ReDim Liste(1 To Rows.Count, 1 To UBound(Dizi, 2) + 1)
For i = 2 To UBound(Dizi, 1)
For k = 13 To Range("XFD1").End(xlToLeft).Column Step 7
Topla = Dizi(i, k + 4) + Dizi(i, k + 5) + Dizi(i, k + 6)
If Topla > 0 Then
Say = Say + 1
For x = 1 To 12
Liste(Say, x) = Dizi(i, x)
Next x
For x = 0 To 6
Liste(Say, 13 + x) = Dizi(i, k + x)
Next x
End If
Next k
Next i
Worksheets("Sayfa4").Cells.Clear
If Say > 0 Then
Range("A1:S1").Copy Worksheets("Sayfa4").Range("A1:S1")
Worksheets("Sayfa4").Range("A2").Resize(Say, 19) = Liste
End If
'Kenarlık ve renklendirme
'Her bilgisayda renkler farklı olduğu seçtiğiniz ofis temasının renklerine göre ayarladım
With Worksheets("Sayfa4")
ilk = 2
Renk = 0
For i = 1 To Say
If Liste(i, 1) <> Liste(i + 1, 1) Then
.Range("A" & ilk).Resize(i - ilk + 1, 19).BorderAround ColorIndex:=0, Weight:=xlThin
If Renk = 1 Then
.Range("A" & ilk).Resize(i - ilk + 1, 19).Interior.ThemeColor = xlThemeColorDark1
Renk = 0
Else
.Range("A" & ilk).Resize(i - ilk + 1, 19).Interior.ThemeColor = xlThemeColorDark2
Renk = 1
End If
ilk = i + 1
End If
Next i
.Range("A1").Resize(1, 19).BorderAround ColorIndex:=0, Weight:=xlThin
.Range("A1").Resize(Say + 1, 19).BorderAround ColorIndex:=0, Weight:=xlThick
End With
End Sub