Çözüldü Örnek dosyadaki şartlı derlemeleri kod ile yapılabilirmiyiz

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Akif59

Yıllık Forum Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba
B12 hüçresi dolu ise

12 nolu satırdaki 4 113 arasındaki değerlerin ilk iki karakteri aynı olanlar ilk iki karakterine göre 121 satıra 4 113 arasına küçükten büyüğe sıralanabilir mi
bu sağlanabilirse aynı olanların adet toplamları da kesim adeti 122 nolu satıra Bdn kesilen adeti de 123 satıra getirilebilir mi

B12 Hüçresi boş ise
12 nolu satırdaki 4 113 arasındaki değerlerin tamamı 121 satıra 4 113 arasına küçükten büyüğe sıralanabilir mi

adet toplamları da kesim adeti 122 nolu satıra Bdn kesilen adeti de 123 satıra getirilebilir mi
 

Ekli dosyalar

benim sorumu tam okumamışsınız ama sorun anlaşıldı şimdi.

sorunun daha net anlaşılması için sonucu manuel hazırlarmısınız yani makro çalıştığında nasıl bir sonuç çıkmalı ?
 
benim sorumu tam okumamışsınız ama sorun anlaşıldı şimdi.

sorunun daha net anlaşılması için sonucu manuel hazırlarmısınız yani makro çalıştığında nasıl bir sonuç çıkmalı ?
Günaydın Feyzullah bey

12 nolu satırı el ile girmek zorundayım girdiğimde ilk iki karakteri ile 121 satır oluşuyor formüller ile
13 nolu satırı el ile girmek zorundayım kesim adetleri girdiğimde 122 satır oluşuyor formüller ile
14 nolu satırı el ile girmek zorundayım bdn kesilen girdiğimde 123 satır oluşuyor formüller ile

121 122 123 satırtları kod ile oluşturmak istiyorum örnek dosyada oluşmuş hali var
1588059641733.webp


amacım sadece formül yoğunluğundan kurtulmak
 
Moderatörün son düzenlenenleri:
İşlemin tetikleyicisinin ne olduğuna dair bir açıklamanızı görmedim.
Böyle olunca da tetikleme alanı olarak, açıklamanızda KRİTER olarak belirttiğiniz B12 hücresinin uygun olacağını düşündüm.
B12 hücresindeki açılır listeden seçim yaparsanız işlem gerçekleşecektir.

Toplama kısmı kodda yok sadece, ilk 2 karakterine göre 121'inci satırdaki tekrarsız listeleme işlemi yapılıyor durumda.
İstediğinizin karşılığı bu ise, toplama kısmına bakayım.

.
 
İşlemin tetikleyicisinin ne olduğuna dair bir açıklamanızı görmedim.
Böyle olunca da tetikleme alanı olarak, açıklamanızda KRİTER olarak belirttiğiniz B12 hücresinin uygun olacağını düşündüm.
B12 hücresindeki açılır listeden seçim yaparsanız işlem gerçekleşecektir.

Toplama kısmı kodda yok sadece, ilk 2 karakterine göre 121'inci satırdaki tekrarsız listeleme işlemi yapılıyor durumda.
İstediğinizin karşılığı bu ise, toplama kısmına bakayım.

.
Merhaba Ömer bey ben tetiklemeyi kontrol ederken

sizde 14 nolu satırın toplamlarını 122 satıra 15 satırdaki adetlerin toplamlarını da 123 getirebilirseniz çok memnun olurum
 
sayın BARAN tetiklemeyi kontrol ettim B12 yapmışsınız size zahmet veriyorum ama tetiklemeyi 12 no lu satırın 4 113 arasındaki tüm hücreler yapsak daha iyi olacak sanki

Set d = Sheets("Imalat") kodun çalışmama sebebi siz burayı DATA Olarak girmişsiniz onu düzelttim kod çalıştı ama sıralamayı 121 satıra değil AA sütununa yukarıdan aşağı yapıyor
 
Sayın BARAN üstteki mesajımı dikkate almayın lütfen yazdığınız kod B12 doluysa kusursuz çalışıyor elinize sağlık

ama B12 boşsa da 12 nolu satırı oldugu gibi 121 satıra yazsın koşulu vardı il mesajımda bunu ve adetleri de toplatıp yazdıra bilirseniz çok güzel olacak
 
Change kodunun baş kısmını aşağıdakiyle değiştirerek deneyin.

CSS:
You must log in to view
(27 satır)

.
Sayın BARAN çok güzel bir çalışma ortaya çıkardınız elinize sağlık dosya yaklaşık 15 mb büyük bir dosya detaylıca tüm işlemleri sağlıklı bir şekilde çalışıp çalışmadığını kontrol edip dönüş yaparım teşekkür eder iyi geceler dilerim
 
İşlemlerinizi, işlemlerin anlamlarını bilemediğim için biraz el yordamı bir kod oluştu.
Bütünü bilmediğim için yapılacak çok şey yok, doğal olarak.

Aslına bakarsanız, tek tek hücreden oku, tek tek hücreye yaz yöntemi hacimli belgelerde biraz yavaş çalışabilir.
Belgenin bütününü kavrayamadığım için daha hızlı çalışabilecek yöntemleri kullanmak biraz güç.

Kolay gelsin, iyi çalışmalar dilerim.

.
 
İşlemlerinizi, işlemlerin anlamlarını bilemediğim için biraz el yordamı bir kod oluştu.
Bütünü bilmediğim için yapılacak çok şey yok, doğal olarak.

Aslına bakarsanız, tek tek hücreden oku, tek tek hücreye yaz yöntemi hacimli belgelerde biraz yavaş çalışabilir.
Belgenin bütününü kavrayamadığım için daha hızlı çalışabilecek yöntemleri kullanmak biraz güç.

Kolay gelsin, iyi çalışmalar dilerim.

.
Sayın BARAN Merhaba son mesajımda söylediğim gibi dosyanın tüm kontrollerini yaptım

Dosyam mağazalarda gördüğümüz üst giyimde beden, beden pantolonlarda beden boy şeklinde sıralanmış yüzlerce kıyafetin planlanmasını sağlıyor. dosyada planlayıp tasarım çizim programının içine planı atıyorum ve her bedenin çizimlerini yapıyorum tüm çabam hesap makinası ve a4 kâğıttan plan aşamasında kurtulmak ve hata oranını minimuma indirmek

Son yazdığınız kod da küçük düzenlemeler yapmamız mümkün müdür

-B12 boşsa üst giyim planı yapılıyor 12 nolu satırı 121 yazıyor fakat aynı olanları küçükten büyüğe sıralamıyor ve her iki adet satırını toplayıp 122 ve 123 satıra yazmıyor bunu B12 doluysa daki gibi yapabilir miyiz ?

- B 12 doluda olsa boşta olsa 12 beden satırında ve her iki adet satırındaki değişimlerin anlık olarak 121 122 123 satırlara yansıması gerekiyor

- 12 nolu satıra veri girdikçe sütunları açan sildikçe sütunları kapatan bir bölüm vardı aşağıdaki ifade o kodun çalışmasını engelliyor

If Target.Row = 12 And Target.Column >= 4 And Target.Column <= 113 Then
 
Önce şu engel olma işine bir cevap yazayım.
Verdiğim kodun en sonundaki End If satırının yerine Else yazın,
End If satırını ise mevcut kodlarınızın en sonuna End Sub satırının üstüne ekleyin.

.
 
Önce şu engel olma işine bir cevap yazayım.
Verdiğim kodun en sonundaki End If satırının yerine Else yazın,
End If satırını ise mevcut kodlarınızın en sonuna End Sub satırının üstüne ekleyin.

.
Sayın BARAN dediğiniz şekilde ifadeleri değiştirince engellenen kod düzeldi bir önceki mesajındaki diğer iki sorun kaldı
böyle sürekli dönüşler can sıkıcı farkındayım anlayışla karşılayacağınızı umuyorum

-B12 boşsa üst giyim planı yapılıyor 12 nolu satırı 121 yazıyor fakat aynı olanları küçükten büyüğe sıralamıyor ve her iki adet satırını toplayıp 122 ve 123 satıra yazmıyor bunu B12 doluysa daki gibi yapabilir miyiz


- B 12 doluda olsa boşta olsa 12 beden satırında ve her iki adet satırındaki değişimlerin anlık olarak 121 122 123 satırlara yansıması gerekiyor
 
Sayın @Akif59 .

Kodlarınıza bakıyorum ve başım döndü doğrusu.
Bir deneme daha yapayım dedim.
-- Kodun önceki çalıştırılması ve arada kesilmesi nedeniyle bazı işlemlerin durması sonucu ihtimaline karşı önce aşağıdaki ilk kodu bir kez çalıştırın.
-- Ardından da aşağıdaki ikinci kod blokunu, önceki verdiğim kod cevabımın yerine olmak üzere yapıştırın (dikkat kod Else ile bitiyor, bu sayede hedef hücre 12'nci satırda değilse eski işlemlerinizin yürümesini sağlamak üzere) ve mevcut kodun en altına End Sub satırının hemen üstüne de End If satırı ekleyin

VBA:
You must log in to view
(5 satır)

VBA:
You must log in to view
(43 satır)

.
 
Sayın @Akif59 .

Kodlarınıza bakıyorum ve başım döndü doğrusu.
Bir deneme daha yapayım dedim.
-- Kodun önceki çalıştırılması ve arada kesilmesi nedeniyle bazı işlemlerin durması sonucu ihtimaline karşı önce aşağıdaki ilk kodu bir kez çalıştırın.
-- Ardından da aşağıdaki ikinci kod blokunu, önceki verdiğim kod cevabımın yerine olmak üzere yapıştırın (dikkat kod Else ile bitiyor, bu sayede hedef hücre 12'nci satırda değilse eski işlemlerinizin yürümesini sağlamak üzere) ve mevcut kodun en altına End Sub satırının hemen üstüne de End If satırı ekleyin

VBA:
You must log in to view
(5 satır)

VBA:
You must log in to view
(43 satır)

.
Sayın BARAN merhaba ilk iki kodumuzda olduğu gibi 12 14 15 nolu satırlardaki güncellemeleri anlık olarak 121 122 123 satırda güncellemiyor

Örneğin 12 nolu satıra veri girdiğimde 14 ve 15 nolu satırlarada veri girmemi istiyor yada 14 nolu satır da adet yükselttiğimizde mutlaka 12 nolu satıa gidip işlem yapmamı bekliyor 121 122 123 güncellemek için


SaYIN BARAN istenilen sonuçlara formül ile ulaşılmış hali ektedir 12 nolu satır anlık olarak diğer satırlarda veri sorgulamaksızın 121 satırı küçükten büyüğe ilk iki karakterine göre sıralıyor 122 ve 123 satırdaki formüllerde bu sıralamanın adetleri topluyor
 

Ekli dosyalar

İnanın belgenizden hiçbir şey anlayamıyorum.
Güncelleme meselesi değil öncelikle;
-- 121'inci satıra veriler değer olarak doğru ve sırasında geliyor mu gelmiyor mu?
-- 122 ve 123'üncü satırlarda istenilen sonuç lar alınıyor mu alınmıyor mu?
Bunu netleştirseydiniz keşke.
Kod 12'nici satırda elle yazarak değişiklik olduğunda tetiklenecek diye varsayıyordum baştan beri.

Verdiğim kod ve yöntemi dosyanıza uygulayın ve 12'ncci satırdaki herhangi bir hücrede F2+ENTER yapın,
ardından 121, 122 ve 123'üncü satırlarda oluşan listelerin doğruluğunu kontrol edin.
Değerler ve sıralaması tamam ise, işlemin tetiklenmesinin neye bağlalanacağını net (adres/satır-sütun/sayfa adı gibi) ifade edin derim ben.

Belgenizin tümüne hakim olmadığımdan, yazdıklarım size anlamlı gelmiyor olabilir, bilemiyorum.
Ben olsam İŞLEM TÜRÜ (çarp/topla/satır göster-gizle/sütun göster-gizle vs işlem neyse artık) bazlı ayrı ayrı kodlar oluşturur,
bu işlemlerin tetiklenmesini de Change kodunda basit bir If..Elseif...Else...End If yapıyla uygun adrese göre (adres sorgulaması)
uygun İŞLEM TÜRÜ makrosunu çağırırdım.
Böylece Change kodunun neyi ne zaman kontrol edeceği yada daha da önemlisi nerelerdeki değişikliği kontrol ETMEYECEĞİ daha kolay kurgulanırdı.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Yıllık Forum Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
76
Üst