Excel İşlerinizi 10 Kat Hızlandıracak En Kullanışlı 5 Hazır Makro Kodu (Kopyala-Yapıştır Rehberi)
Excel, modern iş ve eğitim hayatının en önemli araçlarından biri. Ancak saatler süren veri düzenleme, boş satırları temizleme ya da sayfaları PDF’e dönüştürme gibi işler bir süre sonra can sıkıcı bir rutine dönüşebiliyor. İşte tam bu noktada VBA (Visual Basic for Applications) yani makrolar imdadımıza yetişiyor.
Bu rehberde, hiçbir kodlama bilginiz olmasa bile Excel’de kopyalayıp doğrudan kullanabileceğiniz, günlük işlerinizi saniyeler içinde tamamlayacak en kullanışlı makro kodlarını bir araya getirdik.
Makro Kodları Excel’e Nasıl Eklenir?
Aşağıdaki kodları kullanmak son derece basittir. Excel dosyanızda şu adımları takip etmeniz yeterli:
- Excel dosyanızı açın ve klavyenizden ALT + F11 tuşlarına basarak VBA Editörünü (VBE) açın.
- Üst menüden Insert > Module seçeneğine tıklayın.
- Açılan boş beyaz pencereye aşağıdaki kodlardan ihtiyacınız olanı yapıştırın.
- Pencereyi kapatıp Excel’e dönün. ALT + F8 tuşlarına basarak makroyu çalıştırın.
- Önemli Not: Dosyanızı kaydederken “Makro İçerebilen Excel Çalışma Kitabı (.xlsm)” formatında kaydetmeyi unutmayın!
1. Tablodaki Tüm Boş Satırları Tek Tıkla Silme Kodu
Büyük veri tablolarında aralarda kalan boş satırları tek tek seçip silmek tam bir zaman kaybıdır. Bu kod, seçtiğiniz alandaki tüm tamamen boş satırları anında temizler.
VBA
Sub BosSatirlariSil()
Dim r As Long
Dim sonSatir As Long
Application.ScreenUpdating = False
sonSatir = ActiveSheet.UsedRange.Rows.Count
For r = sonSatir To 1 Step -1
If WorksheetFunction.CountA(Rows(r)) = 0 Then
Rows(r).Delete
End If
Next r
Application.ScreenUpdating = True
MsgBox "Tüm boş satırlar başarıyla temizlendi!", vbInformation, "Bilişim Adası"
End Sub
2. Sayfadaki Tüm Hücrelerin Metin Biçimini Düzenleme (Büyük/Küçük Harf)
Özellikle öğrenci listeleri hazırlarken isimlerin bir kısmının büyük, bir kısmının küçük harfle yazılması büyük bir görsel karmaşa yaratır. Bu kod, seçtiğiniz alandaki tüm metinleri otomatik olarak düzgün yazım formatına (İlk Harfler Büyük) çevirir.
VBA
Sub HarfFormatiniDuzelt()
Dim hucre As Range
For Each hucre In Selection
If Not hucre.HasFormula Then
hucre.Value = WorksheetFunction.Proper(hucre.Value)
End If
Next hucre
MsgBox "Seçili alanın harf formatı başarıyla düzeltildi!", vbInformation, "Bilişim Adası"
End Sub
3. Aktif Sayfayı Tek Tıkla PDF Olarak Kaydetme
Excel tablolarınızı hızlıca velilere veya yöneticilere PDF olarak göndermeniz mi gerekiyor? Bu makro, üzerinde çalıştığınız sayfayı Excel dosyanızın bulunduğu klasöre sayfa adıyla anında PDF olarak kaydeder.
VBA
Sub SayfayiPdfYap()
Dim dosyaYolu As String
Dim dosyaAdi As String
dosyaYolu = ActiveWorkbook.Path & "\"
dosyaAdi = ActiveSheet.Name & ".pdf"
On Error GoTo HataHatti
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=dosyaYolu & dosyaAdi
MsgBox "Sayfa başarıyla PDF olarak kaydedildi! Konum: " & dosyaYolu & dosyaAdi, vbInformation, "Bilişim Adası"
Exit Sub
HataHatti:
MsgBox "Hata oluştu! Lütfen önce Excel dosyanızı bilgisayara kaydedin.", vbCritical, "Bilişim Adası"
End Sub
4. Benzersiz (Tekil) Verileri Başka Bir Sütuna Listeleme
Bir sütundaki mükerrer (tekrar eden) kayıtları ayıklayıp sadece benzersiz olanları listelemek istiyorsanız bu pratik makro tam size göre.
VBA
Sub BenzersizleriListele()
Dim alan As Range
Set alan = Selection
On Error Resume Next
alan.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ActiveSheet.Range("H1"), Unique:=True
If Err.Number <> 0 Then
MsgBox "Lütfen benzersiz verileri ayıklamak istediğiniz sütunu seçin.", vbExclamation, "Bilişim Adası"
Else
MsgBox "Tekrar eden kayıtlar ayıklandı ve H sütununa listelendi!", vbInformation, "Bilişim Adası"
End If
End Sub
5. Tüm Formülleri Sabit Değerlere Dönüştürme
Dosyanızda çok fazla formül olduğunda Excel kasmaya başlayabilir veya dosyayı başkasına gönderdiğinizde formül hataları (#BAŞV!, #DEĞER!) oluşabilir. Bu kod, seçtiğiniz alandaki formülleri siler ve sadece hesaplanmış nihai değerleri bırakır.
VBA
Sub FormulleriDegereDonustur()
Dim alan As Range
Set alan = Selection
alan.Value = alan.Value
MsgBox "Seçili alandaki formüller sabit değerlere dönüştürüldü!", vbInformation, "Bilişim Adası"
End Sub
Önemli İpucu: Bu makroları her seferinde kod penceresini açmadan çalıştırmak için Excel sayfanıza şık bir şekil (buton) ekleyip, sağ tıklayarak “Makro Ata…” seçeneğini kullanabilirsiniz. Böylece tek bir butona tıklayarak tüm işlemleri otomatikleştirebilirsiniz!
