Genel-İçerik

Üretkenliğinizi Artıran Pratik ve Kullanışlı Excel Makroları

Okuma Süresi: 3 dakika

Excel’de kullanım kolaylığı sağlayacak ve üretkenliğinizi artıracak Makro’lardan bir seçki derledim.

Çalışma Kitabının Tüm Sayfalarını Gizle

Sub UnhideAllWoksheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub

Çalışma Kitabındaki Aktif Sayfa Hariç Sayfaları Gizle

Sub HideAllExceptActiveSheet()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then ws.Visible = xlSheetHidden
Next ws
End Sub

Çalışma Sayfalarını Alfabetik Olarak Sırala

Sub SortSheetsTabName()
Application.ScreenUpdating = False
Dim ShCount As Integer, i As Integer, j As Integer
ShCount = Sheets.Count
For i = 1 To ShCount - 1
For j = i + 1 To ShCount
If Sheets(j).Name < Sheets(i).Name Then
Sheets(j).Move before:=Sheets(i)
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub

Tüm Çalışma Sayfalarını Kilitle

Sub ProtectAllSheets()
Dim ws As Worksheet
Dim password As String
password = "1234" '1234 yerine istediğiniz bir şifre belirleyebilirsiniz. 
For Each ws In Worksheets
ws.Protect password:=password
Next ws
End Sub

Tüm Satırları ve Sütunları Gizle

Sub UnhideRowsColumns()
Columns.EntireColumn.Hidden = False
Rows.EntireRow.Hidden = False
End Sub

Tüm Birleştirilmiş Hücreleri Çöz

Sub UnmergeAllCells()
ActiveSheet.Cells.UnMerge
End Sub

Çalışma Kitabını Zaman Damgasıyla Farklı Kaydet

 Sub SaveWorkbookWithTimeStamp()
Dim timestamp As String
timestamp = Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hh-ss")
ThisWorkbook.SaveAs "C:UsersUsernameDesktopWorkbookName" & timestamp
End Sub

Her Bir Çalışma Sayfasını Ayrı PDF Olarak Kaydet

Sub SaveWorkshetAsPDF()
Dim ws As Worksheet
For Each ws In Worksheets
ws.ExportAsFixedFormat xlTypePDF, "C:UsersSumitDesktopTest" & ws.Name & ".pdf"
Next ws
End Sub

Çalışma Kitabını Ayrı PDF Olarak Kaydet

Sub SaveWorkshetAsPDF()
ThisWorkbook.ExportAsFixedFormat xlTypePDF, ActiveWorkbook.Path & ThisWorkbook.name & ".pdf"
End Sub

Bütün Formülleri Değere Dönüştürmek

Sub ConvertToValues()
With ActiveSheet.UsedRange
.Value = .Value
End With
End Sub

Çalışma Kitabındaki Bütün Pivot Tabloları Güncelle

Sub RefreshAllPivotTables()
Dim PT As PivotTable
For Each PT In ActiveSheet.PivotTables
PT.RefreshTable
Next PT
End Sub

Yorumlanan Hücreleri Vurgula

Sub HighlightCellsWithComments()
ActiveSheet.Cells.SpecialCells(xlCellTypeComments).Interior.Color = vbBlue
End Sub

Boş Olan Hücreleri Vurgula

Sub HighlightBlankCells()
Dim Dataset as Range
Set Dataset = Selection
Dataset.SpecialCells(xlCellTypeBlanks).Interior.Color = vbRed
End Sub

Belirli Bir Sütundaki Veriye Göre Sıralama

Sub SortDataHeader()
Range("DataRange").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes
End Sub

Birden Fazla Sütuna Göre Veri Sıralama

Sub SortMultipleColumns()
With ActiveSheet.Sort
 .SortFields.Add Key:=Range("A1"), Order:=xlAscending
 .SortFields.Add Key:=Range("B1"), Order:=xlAscending
 .SetRange Range("A1:C13")
 .Header = xlYes
 .Apply
End With
End Sub

Yazım Yanlışı Olan Hücreleri Vurgula

Sub HighlightMisspelledCells()
Dim cl As Range
For Each cl In ActiveSheet.UsedRange
If Not Application.CheckSpelling(word:=cl.Text) Then
cl.Interior.Color = vbRed
End If
Next cl
End Sub

Aktif Hücreyi Vurgula

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
        .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub
image
Kemal ŞAHİN | Akademik Hayat

Akademisyen, kullanıcı deneyimi ve arayüz tasarımı, veri görselleştirme, web/mobil uygulama geliştirme.

Kemal ŞAHİN'i yakından tanıyın.