- Katılım
- 20 Ocak 2020
- Mesajlar
- 247
- Excel Vers. ve Dili
- Office 2016 TR 64 Bit
Kod:
Sub Aktar()
'21.10.2021 13:00
son1 = Cells(1, Columns.Count).End(xlToLeft).Column
sonsatir = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1
For i = 1 To son1
If Left(Trim(Cells(1, i)), 6) = "Durumu" Or UCase(Left(Trim(Cells(1, i)), 6)) = UCase("Durumu") Or LCase(Left(Trim(Cells(1, i)), 6)) = LCase("Durumu") Then
durumu_yeri = i
ElseIf Left(Trim(Cells(1, i)), 5) = "Rütbe" Or UCase(Left(Trim(Cells(1, i)), 5)) = UCase("Rütbe") Or LCase(Left(Trim(Cells(1, i)), 5)) = LCase("Rütbe") Then
rütbe_yeri = i
ElseIf Left(Trim(Cells(1, i)), 6) = "Birimi" Or UCase(Left(Trim(Cells(1, i)), 6)) = UCase("Birimi") Or LCase(Left(Trim(Cells(1, i)), 6)) = LCase("Birimi") Then
birim_yeri = i
End If
Next
Range("D1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AA$" & son1).AutoFilter Field:=durumu_yeri, Criteria1:="Pasif"
ActiveSheet.Range("$A$1:$AA$" & son1).AutoFilter Field:=rütbe_yeri, Criteria1:="=Amir", _
Operator:=xlOr, Criteria2:="=Memur"
ActiveSheet.Range("$A$1:$AA$" & son1).AutoFilter Field:=birim_yeri, Criteria1:="Kayseri"
Cells.Select
Selection.Copy
Workbooks.Add
Cells.Select
' ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Cells.EntireColumn.AutoFit
Cells(2, 3).Select
metin = "Rütbeli"
ActiveWorkbook.SaveAs Filename:="D:\omerorhan-silmeyin\Desktop\" & metin & ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
Cümleten hayırlı pazarlar, hayırlı akşamalar, yukarıdaki gibi bir formülüm var. Belirli kriterlere göre filtreleme yaparak, kalan veriyi yeni bir excel çalışma kitabı olarak masaüstüne kaydediyor. Aslında bu benim için yeterli ancak öğrenmek istediğim için soruyorum;
Ben yukarıdaki kriterleri UserForm oluşturup Checkbox'ta işaretlediklerimi filtrelemek istesem nasıl yapabilirim.
