boş değeri atlatma

Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
günaydınlar,

Kod:
Sub frt1()
Dim sat As Integer, sut As Integer, a As Integer
    Application.ScreenUpdating = False

Range("m34:re331").ClearContents

For sat = 34 To 331

a = Cells(sat, 11).Value


If Range("K" & sat) >= "0" Then
Cells(sat, (14 + a - 1)) = Range("G" & sat).Value
End If

Next
    Application.ScreenUpdating = True
End Sub

Sub frt2()
Dim sat As Integer, sut As Integer, a As Integer
    Application.ScreenUpdating = False


For sat = 34 To 331

a = Cells(sat, 10).Value


If Range("J" & sat) >= "0" Then
Cells(sat, (14 + a - 1)) = Range("F" & sat).Value
End If

Next
    Application.ScreenUpdating = True
End Sub
bu iki kod içerisinde >= "0" Then kısımlarında kontrol edilen hücrelerde yazmış olduğum formül sonucu sayı olmayan yerler var ve buralar hata veriyor. buraları nasıl atlatırım. bir diğer sorumsa (gerçi cevap alırsam çok gerek kalmayacak sanırım ama işlemi kısaltırım düşüncesindeyim) 34 To 331 kısmında 331 yazmak yerine, 10. sütun 34. satırdan itibaren 331. satıra kadar sıfırdan büyük son sayı nasıl yazabilirim. aynısını 11. sütun içinde yazacağım. son olarak da bu iki kod çok fazla beceremediğimden ayrı ayrı yaptım. bu ikisini birleştirme şansım var mı?

teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşarak yapmak istediğiniz işlemi açıklarsanız belki pratik kodlama önerilebilir.
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
merhaba, 86. satırdan sonra hata veriyor. ricam; bu hata için ne yapmalıyım, iki kodu birleştirmek ve 34 To 331 kısmında 331 yazmak yerine, 10. sütun 34. satırdan itibaren 331. satıra kadar sıfırdan büyük son sayı nasıl yazabilirim.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu şekilde işinizi görür mü?

C++:
Sub frt1()
    Dim sat As Integer, sut As Integer, a As Integer
    
    Application.ScreenUpdating = False
    
    Range("m34:re331").ClearContents
    
    For sat = 34 To Cells(Rows.Count, 11).End(3).Row
        If Range("K" & sat) <> "" Then
            a = Cells(sat, 11).Value
            If Range("K" & sat) > "0" Then
                Cells(sat, (14 + a - 1)) = Range("G" & sat).Value
            End If
        
            a = Cells(sat, 10).Value
            If Range("J" & sat) > "0" Then
                Cells(sat, (14 + a - 1)) = Range("F" & sat).Value
            End If
        End If
    Next
    
    Application.ScreenUpdating = True
End Sub
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Kod:
a = Cells(sat, 11).Value
burası hata veriyor, bunun yerine boş bırak diyebilir miyiz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Hata veren satırda hücrede hangi değer var?
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Kod:
=EĞERHATA(EĞER((YUKARIYUVARLA((F54-$F$4)/(($F$5-$F$4)/$A$27);0))<$A$27;YUKARIYUVARLA((F54-$F$4)/(($F$5-$F$4)/$A$27);0);$A$27-1);"")
bu sonuca göre değer değil "" bu var. hücrelere 0 yazdıramam başka yeri etkiliyor.
Kod:
Cells(Rows.Count, 11).End(3).Row
burası da doğru sonuç vermiyor maalesef
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Döngü içindeki aşağıdaki satır ile "K" sütunundaki ilgili satır boş hücre değilse devam et komutu veriyoruz.

If Range("K" & sat) <> "" Then

Aslında hata vermemesi gerekir.

Diğer komut neden olmadı?
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Döngü içindeki aşağıdaki satır ile "K" sütunundaki ilgili satır boş hücre değilse devam et komutu veriyoruz.

If Range("K" & sat) <> "" Then

Aslında hata vermemesi gerekir.

Diğer komut neden olmadı?
a= değer ver diyoruz sanırım ama a değer değil. zaten değeri orada değil bir alt tarafta kullanıyorum.
diğeri de excelin son satırını alıyor ve çok uzun işleme sebep oluyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Anlıyorum ama zaten döngü içine K sütunundaki boş hücreyi atla koşulunu ekledik. Hata veren satıra uğramaması gerekir.
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
hücre boş değil formül var. farkeder mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ekteki örnek dosyada B sütununda A sütununa göre koşul ile veri alan formül var.

Formül sizin formülünüz gibi çalışıyor. Hücre boş görünüyor ama aslında hücrede formül var.

Butona basıp deneyin. Sonra A sütununa veri girip butona tekrar basıp deneme yapın.
 

Ekli dosyalar

Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
Kod:
Sub frt1()
Dim sat As Integer, sut As Integer, a As Integer
    Application.ScreenUpdating = False
Range("n32:re331").ClearContents
For sat = 32 To 331
If Range("K" & sat) >= 0 And Range("K" & sat) <> "" Then
a = Cells(sat, 11).Value
Cells(sat, (14 + a)) = Range("G" & sat).Value
End If

If Range("J" & sat) >= 0 And Range("K" & sat) <> "" Then
a = Cells(sat, 10).Value
Cells(sat, (14 + a)) = Range("F" & sat).Value
End If
Next
    Application.ScreenUpdating = True
End Sub
çözdüm. teşekkürler. sanırım sıralamada hata vardı. son hücreyi bulmasının bir önemi yok. olmasa da olur. elinize sağlık.
 
Üst