Vba: boş hücreleri yukarıdaki değerle doldurma
Çoğu zaman, bir Excel sayfasındaki boş hücreleri doğrudan üstlerindeki hücrelerin değerleriyle doldurmak için VBA’yı kullanmak isteyebilirsiniz.
Bunu yapmak için aşağıdaki temel sözdizimini kullanabilirsiniz:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Bu özel örnek, A2 hücresinden B sütununa ve C sütununda bir değer içeren son satıra kadar tüm boş hücreleri dolduracaktır.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Boş hücreleri yukarıdaki değerle doldurmak için VBA’yı kullanın
Farklı basketbol oyuncularının çeşitli oyunlarda attığı sayıları gösteren Excel’de aşağıdaki veri setine sahip olduğumuzu varsayalım:
A ve B sütunlarındaki boş hücreleri, üstlerindeki hücrelerin değerleriyle doldurmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Takım ve Oyuncu sütunlarındaki tüm boş hücrelerin, üstlerindeki hücrelerden uygun değerle doldurulduğunu unutmayın.
Not : Aralıktaki boş hücreleri tanımlamak için xlBlanks’ı kullandık, ardından boşlukları bir satır yukarıdaki hücrenin değeriyle doldurmak için =R[-1]C’yi kullandık.
Sonuç olarak tüm boş hücreleri üstlerindeki hücrelerin değeriyle doldurabildik.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Hücrenin boş olup olmadığı nasıl kontrol edilir
VBA: “Boş değilse” nasıl kullanılır?
VBA: Belirli bir metin içeren hücreler nasıl sayılır?