• DİKKAT

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

Sıfır'ı işleme katmama

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set Alan = Union(Range("F64"), Range("H64"), Range("J64"))
   
    Fiyat_1 = Format(WorksheetFunction.Small(Alan, 1), "#,##0.00")
    Fiyat_2 = Format(WorksheetFunction.Small(Alan, 2), "#,##0.00")
    
    For Each Veri In Alan
        If Veri.Value = CDbl(Fiyat_1) Then
            Range("D68") = Cells(11, Veri.Column - 1)
            Range("G68") = Cells(12, Veri.Column - 1)
            Range("J68") = CDbl(Fiyat_1)
            Range("D70") = Cells(11, Veri.Column - 1)
            Range("G70") = Cells(12, Veri.Column - 1)
            Range("J70") = CDbl(Fiyat_1)
        End If
        
        If Veri.Value = CDbl(Fiyat_2) Then
            Range("D69") = Cells(11, Veri.Column - 1)
            Range("G69") = Cells(12, Veri.Column - 1)
            Range("J69") = CDbl(Fiyat_2)
        End If
    Next
    
    Set Alan = Nothing
End Sub


Yukarıdaki kod Korhan abime ait koddur.
Tek sıkıntım
Set Alan = Union(Range("F64"), Range("H64"), Range("J64"))


hücrelerinde teklif girilmemiş hücre sıfır göründüğünden sıfırı işleme katıyor. Sıfırı işleme almayacak şekilde revize edilmesi için yardımcı olabilir misiniz?
Teşekkür eder, saygılarımı sunarım.
 
Bu şekilde dener misiniz ?
Kod:
    Dim arr
    arr = Array("F64", "H64", "J64")
    For i = 0 To 2
    If Range(arr(i)) = 0 Then GoTo 10
    a = arr(i) & "," & a
10
    Next
    
    Fiyat_1 = WorksheetFunction.Small(Range(Left(a, Len(a) - 1)), 1)
    Fiyat_2 = WorksheetFunction.Small(Range(Left(a, Len(a) - 1)), 2)
 
Hamit Abi
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Dim arr
    arr = Array("F64", "H64", "J64")
    For i = 0 To 2
    If Range(arr(i)) = 0 Then GoTo 10
    a = arr(i) & "," & a
10
    Next
    
    Fiyat_1 = WorksheetFunction.Small(Range(Left(a, Len(a) - 1)), 1)
    Fiyat_2 = WorksheetFunction.Small(Range(Left(a, Len(a) - 1)), 2)
    
    For Each Veri In Alan
        If Veri.Value = CDbl(Fiyat_1) Then
            Range("D68") = Cells(11, Veri.Column - 1)
            Range("G68") = Cells(12, Veri.Column - 1)
            Range("J68") = CDbl(Fiyat_1)
            Range("D70") = Cells(11, Veri.Column - 1)
            Range("G70") = Cells(12, Veri.Column - 1)
            Range("J70") = CDbl(Fiyat_1)
        End If
        
        If Veri.Value = CDbl(Fiyat_2) Then
            Range("D69") = Cells(11, Veri.Column - 1)
            Range("G69") = Cells(12, Veri.Column - 1)
            Range("J69") = CDbl(Fiyat_2)
        End If
    Next
    
    Set Alan = Nothing
End Sub

For Each Veri In Alan kısmı hata veriyor.
 
Kod:
For Each Veri In Alan
yerine
aşağıdaki satırı koyup dener misiniz ?
Kod:
   For Each veri In Range(Left(a, Len(a) - 1))
 
Hamitcan abim
Teşekkür ederim. Sıkıntı ortadan kalktı Hakkınızı helal edin. Saygılarımla
 
Geri
Üst