- Katılım
- 1 Ağustos 2019
- Mesajlar
- 839
- Excel Vers. ve Dili
- Türkçe excel 2016
İngilizce excel 2016
Değerli Hocalarım bu konu ile ilgili önceden örnek bir şablon yayınlamıştım. Ancak kendi sayfamda A sütünunun olmadığını farkettim. Bu nedenle örnek sayfada çalışan makro benim sayfamda çalışmadı. Bu sefer kendi sayfamı ve makroyu paylaştım. Benim sayfama göre makroyu revize edebilirsek memnun olurum. Saygılar
Kod:
Sub test()
Zaman = Timer
Application.DisplayAlerts = False
For Each Sayfa In ThisWorkbook.Worksheets
Select Case Sayfa.Name
Case "Ana Sayfa", "data"
‘Case Else: Sayfa.Delete
End Select
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = 0
Set d = CreateObject("scripting.dictionary")
Set s1 = Sheets("Ana Sayfa")
a = s1.Range("A2:Y" & s1.Cells(Rows.Count, 1).End(3).Row).Value
sy = UBound(a, 2)
For i = 1 To UBound(a)
If Not a(i, sy) = "" Then d(a(i, sy)) = ""
Next i
ReDim b(1 To UBound(a), 1 To sy)
For i = 0 To d.Count - 1
Set S2 = Sheets.Add
S2.Move After:=Worksheets(Worksheets.Count)
S2.Name = d.keys()(i)
For x = 1 To UBound(a)
If a(x, 23) = "Etkin" Then
If a(x, sy) = S2.Name Then
say = say + 1
For y = 1 To sy
b(say, y) = a(x, y)
Next y
End If
End If
Next x
s1.[A1:Y1].Copy Sheets(S2.Name).[A1]
S2.[A2].Resize(say, sy) = b
S2.[A2].Resize(say, sy).Columns.AutoFit
S2.DrawingObjects.Delete
S2.[A2].Resize(say, sy).Borders.LineStyle = 1
say = 0
Next i
s1.Select
Application.ScreenUpdating = 1
MsgBox "Veriler sayfalara aktarılmıştır." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
End Sub
