Soru değerleri macro ya da formülle sildirmek

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
728
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
728
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
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?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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.
 
Üst