Excel VBA(Makro) Kısa Kodlar 1: yazının metni
Bu yazıda size bazı makrolardan bahsedeceğim. Öncelikle makrolardan herşey beklenmemelidir. Excel VBA ile masaüstü yazılımlar bile yapılabilir ancak Excel bir yazılım platformu değildir. Birçok kişi userformlarla ile kafayı bozmuş durumdadır. Userform çok kullanışlıdır ancak Excel ile Excel'in ötesinde bir yazılım hayal etmek sizi hem çok yorar hem de isteğinizi karşılamaz. Büyük programlar yazmak için C#.Net kullanmanızı tavsiye ederim. C#.Net öğrenmek içinse, C'den başlayıp gelin. Uzun bir yol sizi bekliyor :)
Excel Makro kodları'nın temel amacı devamlı olarak yapılan işlerin otomatikleştirilmesidir. Bu kod serisinin 1. parçası aşağıdaki kodlardan oluşmaktadır. Devamı gelecek...
1) Butona Tıklayarak Alan Seçmek
Private sub Commanbutton1_Click()
Range(“A5”).Select
End Sub
2) Butona Tıklayarak Aralık Seçmek
Private sub Commanbutton1_Click()
Range(“A5:A10”).Select
End Sub
3) Butona Tıklayarak Tüm Satırı Seçmek
Private sub Commanbutton1_Click()
Rows(1).Select
End Sub
4) Butona Tıklayarak Tüm Sütunu Seçmek
Private sub Commanbutton1_Click()
Columns(1).Select
End Sub
5) Seçilen Hücreye Değer Atamak
Private sub Commanbutton1_Click()
Cells(1,5).Select
Cells(1,5).Value=”BYMMB”
End Sub
6) Yeni Bir Sekme Eklemek
Private Sub CommandButton1_Click()
Worksheets.Add.Name = "BYMMB"
a = Worksheets.Count
Worksheets("BYMMB").Move after:=Worksheets(a)
End Sub
7) Bir Hücrede Yer Alan Değeri MSGBOX ile Göstermek
Private Sub CommandButton1_Click()
MsgBox Range("A1")
End Sub
8) Şart'a Bağlı MSGBOX
Private Sub CommandButton1_Click()
Dim a
a = MsgBox("A1'e BYMMB yazayım mı?", vbYesNo, "Ne yapalım?")
If a = vbYes Then
Cells(1, 1).Value = "BYMMB"
Else
MsgBox "A2'ye yazıyorum o zaman"
Cells(1, 2).Value = "BYMMB"
End If
End Sub
9) Bir Alanda Yer Alan MİN/MAX Değerleri Bulmak
Private Sub CommandButton1_Click()
Dim a
a=Worksheetfunction.Min(Range(“A:A”))
Cells(1,2)=a
End Sub
10) Bir Aralıkta Yinelenen Verileri Kaldırmak
Private Sub CommandButton1_Click()
Range(“A1:A50”).AdvancedFilter Action:=xlFilterCopy,CopyToRange:=Range(“B1”),Unique:=True
End Sub
Faydalı olması dileğiyle...
UserForm ve makrolarla veri girişini standartlaştırmak isteyen ekipler için: kurumsal VBA ve UserForm eğitimi.