• DİKKAT

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

Soru değerleri macro ya da formülle sildirmek

Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Arkadaşlar amacım Teorik Üretim Miktarı yani H sütunundaki değerleri Malzeme Tanımı(A sütunu),İş Yeri Tanımı(B),Vard.(C) sütunlarına bakarak eşit ya da küçükleri sildirip teke düşürmek.

Örnek vermek gerekirse 13 ve 14.satırdaki Malzeme adı 3 , İş Yeri Tanımı G / 418 , Vard. = V1 olan Teorik Üretik Miktarındaki 450-450 olanları sadece 450 olarak değiştirmek ama hücreyi silmesini istemiyorum... Yani biri boş kalacak diğeri 450 olacak.


2.Örnek vermek gerekirse 42 ve 43.satırdaki Malzeme adı 27 , İş Yeri Tanımı GT / 436 , Vard. = V2 olan Teorik Üretik Miktarındaki 630-1050 olanlardan küçük olanı yani 630'u boşaltmak. Orada sadece 43.satırdaki 1050 duracak.

Bunu formül ya da macro ile nasıl yapabilirim? Çok uzun olduğundan her seferinde elle kontrol etmek hataya neden oluyor..

Teşekkürler..
 

Ekli dosyalar

Aşağıdaki makroyu deneyiniz. VErilerinizin çokluğuna göre işlem süresi uzayabilir:

PHP:
Sub tekleme()
Application.ScreenUpdating = False
en = Cells(Rows.Count, "A").End(3).Row
For i = 3 To en - 1
    For j = i + 1 To en
        If Cells(i, "A") = Cells(j, "A") And Cells(i, "B") = Cells(j, "B") And Cells(i, "C") = Cells(j, "C") Then
            If Cells(i, "H") <= Cells(j, "H") Then
                Cells(i, "H") = ""
                j = en
            End If
        End If
    Next
Next
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı"
End Sub
 
Aşağıdaki makroyu deneyiniz. VErilerinizin çokluğuna göre işlem süresi uzayabilir:

PHP:
Sub tekleme()
Application.ScreenUpdating = False
en = Cells(Rows.Count, "A").End(3).Row
For i = 3 To en - 1
    For j = i + 1 To en
        If Cells(i, "A") = Cells(j, "A") And Cells(i, "B") = Cells(j, "B") And Cells(i, "C") = Cells(j, "C") Then
            If Cells(i, "H") <= Cells(j, "H") Then
                Cells(i, "H") = ""
                j = en
            End If
        End If
    Next
Next
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı"
End Sub


Muhteşemsiniz hocam teşekkürler.. Bu tür macroların yazımını nasıl öğrenebiliriz?
 
Ben bu siteden öğrendim. Özel bir eğitim vs almadım. Burdaki çözümleri inceleyerek, kendim uygulayarak, yetmediği yerde internetten araştırarak kendimi az da olsa geliştirdim. Gözünüzü korkutmayın, siz de kısa sürede işin mantığını anlayıp, kullanabilirsiniz.
 
Geri
Üst