Şartlı - Hücre boşsa sağındaki veriyi getir.

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
Merhabalar,

Excel tablomda B sütununda stoklar ve C sütununda tanımlar var. B sütununda bazen stoklar gelmiyor bu nedenle aşağıdaki bosluklaridoldur modulü çalıştırıyorum gayet güzel çalışıyor fakat 700 satır için baya zaman harcıyor. Bende bunu kısaltmak için şunu yaptım.

A1 hücresine dolu satırları saydırdım
VBA karşılık formülü
Kod:
Range("A1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[2]C:R[698]C)"
Daha sonrasında
Aşağıdaki kodu yazdım
Kod:
If Range("A1") = A1 > 50 Then
call baskamodulcalistir
End If

If Range("A1") = A1 < 49 Then
call bosluklaridoldur
End If
Lakin çalışmadı. Daha kolay kodlar varsa veya başka türlü yardımcı olabilirseniz çok sevinirim.

Teşekkürler.


BOŞUKLARI DOLDUR MODÜLÜ
Kod:
Sub bosluklaridoldur()
If Range("B3") = "" Then
Range("B3").Value = Range("C3").Value
End If
If Range("B4") = "" Then
Range("B4").Value = Range("C4").Value
End If
If Range("B5") = "" Then
Range("B5").Value = Range("C5").Value
End If
If Range("B6") = "" Then
Range("B6").Value = Range("C6").Value
End If
If Range("B7") = "" Then
Range("B7").Value = Range("C7").Value
End If.........
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Makrosuzda yapabilirsiniz.

B3:B700 aralığını seçin;
F5 / Özel / Boşluklar

Bu şekilde boş hücrelere seçilir. İlk seçili boş hücrenin B4 olduğunu düşünelim. Seçili alanı bozmadan formül çubuğuna =C4 yazarak ctrl+enter tuşlarına basarsanız istediğiniz olur.

Makro ile döngü kurabilir siniz.
Kod:
Sub bosluklaridoldur()
    Dim i As Long
    For i = 3 To 700
        If Cells(i, "B") = "" Then
            Cells(i, "B") = Cells(i, "C")
        End If
    Next i
End Sub
 

dgdizayn

Altın Üye
Katılım
7 Mart 2011
Mesajlar
138
Excel Vers. ve Dili
OFFİCE 2019 EN
Altın Üyelik Bitiş Tarihi
04-05-2028
Sn Ömer Bey,

Ellerinize sağlık çok hızlı bir kod oldu, teşekkürler.
 
Üst