• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

IF hatası

Katılım
10 Ağustos 2004
Mesajlar
292
Excel Vers. ve Dili
Excel 2021 - Türkçe
Merhaba,

Ekteki dosyada hazırlamış olduğum makrodaki formül hatalı çalışıyor. Ben çözemedim yardımcı olursanız sevinirim.
 

Ekli dosyalar

A sütununda değer olmadığı için sat=0 değerini alıyor.
 
anladığım kadarı ile verilerin sadece bir kısmı ekteki dosyada var.

tüm verilerin olduğu sayfada çalıştırmayı denemek lazım. veya gerçek dosya bu ise sat değişkenini veri olan bir sütuna göre, örneğin D, tanımlamak lazım.

Kod:
sat = Sheets("Veri Girişi").Cells(Rows.Count, "D").End(xlUp).Row

fakat döngü nedeniyle $W3 tüm satırlarda sabit kalacaktır ve hata verecektir.

ben formüllü çözüm istersem aşağıdaki gibi yapardım.

formül için:
Kod:
Sub Formul()

Dim SonSat As Long

With Worksheets("Veri Girişi")
    SonSat = .Cells(Rows.Count, "D").End(xlUp).Row
    .Range("X3:X" & SonSat) = "=IF($W3=""Tümü Kabul"",IF($F3<>0,1,""""),"""")"
End With

End Sub
 
Kod:
Sub Formul()
Dim sat As Long, i As Long
sat = Sheets("Veri Girişi").Cells(102, "A").End(xlUp).Row
For i = 3 To sat
    Sheets("Veri Girişi").Cells(i, "X").Formula = "=IF($W3=""Tümü Kabul"",IF($F3<>0,1,""""),"""")"
Next i
End Sub


Eğer orjinal dosyanızda eklemiş olduğunuz bu dosya gibi ise hata almanız normaldir.

sat = Sheets("Veri Girişi").Cells(102, "A").End(xlUp).Row

Bu komut satırı ile, A102 hücresinden yukarıya doğru, en son dolu hücreye zıpla ve seçilen satırın bulunduğu satır numarasını "sat" değişkenine ata diyorsunuz.
İşte bu noktada, A sütununda herhangi bir veri bulunmadığından, zıplama A1 hücresine gerçekleşecek ve "sat" değişkeninin alacağı değer 1 olacaktır.

Akabinde; For i = 3 to sat

ifadesinde, 3'den 1'e kadar yap diyorsunuz ki, 3'ten bire doğru ifadesi hataya neden olmaktadır.
 
Son düzenleme:
Teşekkür ederim elinize sağlık
 
Geri
Üst