-
Çalışma Sayfaları Oluşturma
Bu bölümde her bir değişken için bir çalışma sayfası içeren yeni bir çalışma kitabı oluşturacağız.
-
Variant Diziler
Variant Diziler kullanmanın avantajları aşağıdaki gibidir: Aşağıdaki örnekte variant dizide bulunan her değere 100 eklendikten sonra hücrelere yazdırılır. Bu yöntem çok daha hızlıdır.
-
İki Boyutlu Dizi
İki boyutlu dizi iç içe döngü yardımıyla elde edilebilir. Örnek: Kodlar:
-
Dinamik Diziyi Muhafaza Etmek
Eğer dinamik dizide tanımlı değişkenlere yenisini eklemek istersek Preserve ifadesini kullanmamız gerekir. Sub Dizi_Muhafaza() Dim Musteri() As String ReDim Musteri(1 To 2) Musteri(1) = “Ali” Musteri(2) = “Hakan” ‘Eğer “ReDim Musteri(1 To 3)” olarak yazarsak yukarıdaki 2 tanımlama sıfırlanır. Bu yüzden Preserve girilir: ReDim Preserve Musteri(1 To 3) Musteri(3) = “Fatma” MsgBox Musteri(1) & vbNewLine…
-
Dinamik Dizi
Dizi aralık boyutu arttıkça dizi değişkenlerinin sayısı da artar. Dizinin tam boyutu, kod yürütme sırasında tanımlanır. Boyutu tanımlamak için Redim ifadesini kullanılır ve ardından dizi içeriği değişkenlerle doldurulur. Sub Dinamik_Dizi() Dim AylarDizisi() As String Dim dinamik As Long Const ilkSatir As Long = 1 Dim r As Long dinamik = Range(“A” & ilkSatir).CurrentRegion.Rows.Count dinamik =…
-
Tek Boyutlu Dizi
Bu yöntemle tek bir satır veya sütunda bulunan bir aralıktaki hücreleri dizi olarak tanımlıyoruz. Sabit tek boyutlu dizi, Dim ifadesi sırasında tanımlanır: Dim AylarDizisi(1 To 12) As String Örnek: Sonuç:
-
Çalışma Kitabındaki Tüm Yorumları Bulma
Bu bölümde yer alan kodlarla çalışma kitabımızdaki tüm yorumları, yeni bir sayfaya, hücre adresi ve yazarıyla birlikte yazacağız.
-
Timer ve Speech Özellikleri
Timer: Döngülerde geçen süreyi bulmak için timer özelliğini kullanırız. Timer özelliği gece yarısından bu zamana kadar geçen saniyeyi hesaplar. Speech: Makro kodu bittiği zaman bize sesli bir uyarı vermesi için Speech özelliğini kullanırız. Speech özelliği sadece ingilizce dili desteklemektedir. Örnek: Sub Many_Finds() ‘Timer başlangıç Dim Basla Basla = VBA.Timer Dim UrunId As Range Dim i…
-
Find Yöntemi
Find yöntemi, For Next ve Do Loop döngülerine göre daha hızlı sonuç almamızı sağlar. LookIn ve LookAt metodları opsiyonel olsa bile son uygulanan metodlar otomatik olarak geçerli olacağı için kullanmamız gerekir. Aşağıdaki yöntemle sadece bir arama yapacağız: Aşağıdaki yöntemle birden fazla arama yapacağız:
-
Do Until / Do While Döngüleri
Do Until / Do While döngüleri aynı For…Next döngüsü gibi çalışır. Tek farkı For…Next döngüsündeki gibi bir sayaç kullanma mecburiyeti yoktur. Do While döngüsü belirtilen koşul sağlandığı müddetçe çalışır. Do Until döngüsü belirtilen bir koşul karşılanana kadar çalışır. Exit Do komutunda VBA döngüden hemen çıkar. Do Loop dongüsünde While ve Until kullanılmazsa, gereken yerde Exit…
-
For…Next Ters Döngüler
Döngü sırasında satır silinmesi gibi durumlarda alttaki satırlar yukarı kayacağı için döngüye tersten başlanması daha uygun olur. Sub Gizli_Satirlari_Silme() Dim r As Long Const ilkSatir As Byte = 4 ‘datanın ilk satırı (başlık hariç) Dim SonSatir As Long ‘CurrentRegion ve ilkSatir’da başlık 2 defa dahil olduğu için 2 çıkarıyoruz SonSatir = Range(“A” & ilkSatir).CurrentRegion.Rows.Count +…
-
For…Next İç içe Döngüler
Bu örnekte hücrelerin içinde tek tek dolaşıp metin ve sayıları ayıklayacağız. Sub icice_Dongu() Dim i As Long ‘her hücrenin içinde döngü yapmak için Dim myDeger As String Const ilkSatir As Byte = 4 Dim SonSatir As Long Dim NumBulunan As Long Dim TxtBulunan As String Dim r As Long ‘satırlar arasında döngü yapmak için SonSatir…
