• DİKKAT

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

Soru Yazdığım kodu tek satır için değil tüm satırlara uygulansın

Katılım
21 Ekim 2012
Mesajlar
62
Excel Vers. ve Dili
XLSX
Arkadaşlar merhaba,

Ekteki dosyada yazdığım kodda sayfa1 deki A1,B1,C1 deki kodlar 2 sayfadakli sayılarla kontrol yapıp çarptırıyorum. Fakat sayfa 1 de sadece tek satır olmayacak. aşağı doğru devam edecek. Şuan sonucu sayfa 2 deki 6. satıra yazdırıyorum. onlarında sonucunun sayfa 2 deki 7,8,9... satırlara devam etsin istiyorum.

Yardımcı olur musunuz.
 

Ekli dosyalar

Kod:
Sub kntrl()
    Sayfa2.Range("A6:AB" & Rows.Count).ClearContents
    For sat = 1 To Cells(Rows.Count, 1).End(3).Row
        For i = 1 To 28
            If Cells(sat, 1) <= Sayfa2.Cells(1, i) And _
               Cells(sat, 2) <= Sayfa2.Cells(2, i) And _
               Cells(sat, 3) <= Sayfa2.Cells(3, i) Then
                Sayfa2.Cells(sat + 5, i) = Cells(sat, 1) * Cells(sat, 2) * Cells(sat, 3)
            Else
                Sayfa2.Cells(sat + 5, i) = ""
            End If
        Next i
    Next sat
End Sub
 
Çok sağolun birşeyi unutmuşum. sayfa 1 de D sutununa bu çarpımların minimum değerinin gelmesini nasıl sağlarız. yani yanyana olan bu verilerden en küçüğünü ilgili satırın D sutununa yazsın
 
Yardımcı olacak kimse varmı formülle yaptım ama çok uzun sürüyor her satır için
 
Kod:
Sub kntrl()
    Sayfa2.Range("A6:AB" & Rows.Count).ClearContents
    For sat = 1 To Cells(Rows.Count, 1).End(3).Row
        For i = 1 To 28
            If Cells(sat, 1) <= Sayfa2.Cells(1, i) And _
               Cells(sat, 2) <= Sayfa2.Cells(2, i) And _
               Cells(sat, 3) <= Sayfa2.Cells(3, i) Then
                Sayfa2.Cells(sat + 5, i) = Cells(sat, 1) * Cells(sat, 2) * Cells(sat, 3)
            Else
                Sayfa2.Cells(sat + 5, i) = ""
            End If
        Next i
    Next sat
End Sub
birde sayfa birdekiler değil sayfa2 dekiler çarpılıp yazılması gerekiyor.
 
birde sayfa birdekiler değil sayfa2 dekiler çarpılıp yazılması gerekiyor.
Bu kadar boşa beklemenizin sebebi burası.. Örneğinizde sayfa1 deki leri çarpmışsınız. Ondan sonra sayfa2 de hepsi aynı olan rakamlardan minimum değerin bulunmasını bekliyorsunuz.

Kod:
Sub kntrl()
    Sayfa2.Range("A6:AB" & Rows.Count).ClearContents
    For sat = 1 To Cells(Rows.Count, 1).End(3).Row
        For i = 1 To 28
            If Cells(sat, 1) <= Sayfa2.Cells(1, i) And _
               Cells(sat, 2) <= Sayfa2.Cells(2, i) And _
               Cells(sat, 3) <= Sayfa2.Cells(3, i) Then
                Sayfa2.Cells(sat + 5, i) = Sayfa2.Cells(1, i) * Sayfa2.Cells(2, i) * Sayfa2.Cells(3, i)
            Else
                Sayfa2.Cells(sat + 5, i) = ""
            End If
            Cells(sat, 4) = WorksheetFunction.Min(Sayfa2.Cells(sat + 5, 1).Resize(, 28))
        Next i
    Next sat
End Sub
 
Haklısınız. Lakin olabiliyor böyle hatalar sizin gibi tecrübeli değiliz kusura bakmayın. elinize sağlık.
 
Geri
Üst