Excel'de birçok kez yaptığımız adımsal işlemleri adım sıraları ile birlikte koda dökerek bizim yerimize Excel'den yapması isteyebiliriz, bu işleme de makro adı verilmektedir. Excel'de makro kaydedici aracı ile yaptığımız tüm işlemleri aşağıdaki gibi makrolaştırabiliriz.
Excel'de makro kaydetmek için öncelikle Excel Geliştirici (Developer) menüsünü aktif duruma getirmelisiniz.Excel'de Geliştirici (Developer) Sekmesini Görünür Yapmak
Excel'de makro kaydetme işlemini başlatmak için:
- Geliştirici (Developer) menüsü altındaki Makro Kaydet (Record Makro) seçeneğine tıklayın.
- Açılan pencerede makronuza bir isim verin, isterseniz kısayol ekleyin ve yine isteğe bağlı olarak bir açıklama ekleyin.
Not: Makro isimlerinde boşluk bırakılmaz.
- OK butonuna tıkladığınız andan itibaren Excel, yaptığınız tüm işlemleri kaydetmeye başlayacak. Aşağıdaki gibi bir form hazırlayalım ve sonrasında Excel'in kaydettiği makro kodlarına göz atalım.
- Makro kaydetme işlemini sonlandırmak için Geliştirici (Developer) menüsü altındaki Kaydı Durdur (Stop Recording) butonuna tıklayın.
- Excel dosyasındaki mevcut makroları görüntülemek için Geliştirici (Developer) sekmesindeki Makrolar (Macros) butonuna tıklayın.
Mevcut makroları çalıştırmak için Çalıştır (Run) butonuna; kodlarını görüntülemek için de Düzenle (Edit) butonuna tıklayabilirsiniz. Bizim yaptığımız adımsal işlemlerin makro kodları ise şu şekilde:
Sub FormDuzenle()
'
' FormDuzenle Macro
' form düzenleme islemleri
'
' Keyboard Shortcut: Ctrl+j
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Adiniz"
Range("A2").Select
ActiveCell.FormulaR1C1 = "Soyadiniz"
Range("A3").Select
ActiveCell.FormulaR1C1 = "Personel Numaraniz"
Range("A4").Select
Columns("A:A").EntireColumn.AutoFit
Range("A1:B4").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range("A1:A3").Select
Selection.Font.Bold = True
Range("B1:B3").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.599993896298105
.PatternTintAndShade = 0
End With
Range("E6").Select
Selection.Copy
Range("A4:C5").Select
Range("C5").Activate
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("E7").Select
ActiveWindow.SmallScroll Down:=-3
End Sub
Bu kodları tektrar çalıştırabilir, istediğimiz adımlarını güncelleyebilir ya da başka excel dosyalarına transfer ederek başka excel dosyalarında ya da bilgisayarlarda kullanabiliriz.