Aşağıda, bir takım listesinden tüm olası basketbol maçlarının basılı önizlemesini gösteren Excel VBA’daki bir programa bakacağız.
Durum:
- Öncelikle bir Range nesnesi ve dört değişken tanımlıyoruz. Range nesnesine aralik diyoruz. macadi dediğimiz bir String değişkeni ve sayac, i ve j dediğimiz üç tamsayı değişkeni.
Dim aralik As Range, macadi As String, sayac As Integer, i As Integer, j As Integer
Code language: VB.NET (vbnet)
- aralik değişkenini takım adlarıyla başlatıyoruz. Aralığın tam sınırlarını önceden bilmediğimiz için CurrentRegion’u kullanıyoruz (bu programın 4 ekip için değil, aynı zamanda 4’den fazla ekip için de çalışmasını istiyoruz). Sayacı 0 değeriyle başlatıyoruz.
Set aralik = Range("A1").CurrentRegion
sayac = 0
Code language: VB.NET (vbnet)
- Mümkün olan tüm futbol maçlarını C sütununa yazıyoruz. İlk olarak C sütununu boşaltıyoruz.
Worksheets(1).Columns(3) = ""
Code language: VB.NET (vbnet)
- Çift Döngü başlatıyoruz.
For i = 1 To aralik.Count
For j = i + 1 To aralik.Count
Code language: VB.NET (vbnet)
- macadi değişkenine bir macadi yazıyoruz.
macadi = aralik.Cells(i).Value & " - " & aralik.Cells(j).Value
Code language: VB.NET (vbnet)
Örneğin, i = 1 ve j = 2 için Excel VBA, Anadolu Efes – Fenerbahçe eşleştirme adını yazar. i = 1 ve j = 3 için Excel VBA, Anadolu Efes – Galatasaray…vb. eşleştirme adını yazar.
- Eşleşme adını C sütununa yazıyoruz.
Cells(sayac + 1, 3).Value = macadi
Code language: VB.NET (vbnet)
- Sayaç, C sütununa yazılan eşleşme adlarının sayısını takip eder. Excel VBA, C sütununa her eşleşme adı yazdığında sayacı 1 artırır. Bunu yapmak için aşağıdaki kod satırını ekleyin:
sayac = sayac + 1
Code language: VB.NET (vbnet)
- İki döngüyü de kapatmayı unutmayın.
Next j
Next i
Code language: VB.NET (vbnet)
- Tüm futbol maçlarının basılı önizlemesini gösteriyoruz.
ActiveSheet.Columns(3).PrintPreview
Code language: VB.NET (vbnet)
- Programı test edin.
Sonuç:
Tüm Kodlar
Dim aralik As Range, macadi As String, sayac As Integer, i As Integer, j As Integer
Set aralik = Range("A1").CurrentRegion
sayac = 0
Worksheets(1).Columns(3) = ""
For i = 1 To aralik.Count
For j = i + 1 To aralik.Count
macadi = aralik.Cells(i).Value & " - " & aralik.Cells(j).Value
Cells(sayac + 1, 3).Value = macadi
sayac = sayac + 1
Next j
Next i
ActiveSheet.Columns(3).PrintPreview
Code language: VB.NET (vbnet)