A

Soru Formülleri koda çevirip Change Koduna yerleştirme

  • Konuyu başlatan Konuyu başlatan Akif59
  • Başlangıç tarihi Başlangıç tarihi

Akif59

Yıllık Forum Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba Dosyamdaki
DK22 DK120 Hücre alığındaki toplama formüllerinden kurtulmak istiyorum formüller DJ22 DJ120 Aralığına Kopyalayarak veya tek tek veri girince ve veri silince aktive oluyor.

DL22 DL120 Hücre alığındaki Çarpma formüllerinden kurtulmak istiyorum formüller DJ22 DJ120 Aralığına Kopyalayarak veya tek tek veri girince ve veri silince aktive oluyor.

DP22 DP120 Hücre alığındaki formüllerinden kurtulmak istiyorum formüller DO22 DO120 Aralığına Kopyalayarak veya tek tek veri girince ve veri silince aktive oluyor.

Bu üç formül bloğundan kurtulmak için desteğinizi rica ediyorum
Change kodunun içine ben kendim bir şeyler yazdım fakat istediğim sonucu alamadım.
 

Ekli dosyalar

Hangi hücrelere uygulanan hangi formüller olduğunu, hangi hücrelerde gezinirken olduğunu tespit etmek gerekir.
Kodu adımlayarak tespit edebilirsiniz.

Bu arada hangi değişiklik(ler) ile sorunlar düzeldi onu bilemiyorum. Kodun sorunsuz (formül uygulama sorunu hariç) halini paylaşırsanız veya o haliyle örnek belge eklerseniz daha iyi olur.
 
Sayın BARAN
KOD hatasının sebebi modül 2 deki kodun hesaplama sonucu oluşan verileri yazmak için ihtiyacı olan satırları açamaması imiş önce satırları aç satırını ilk sıraya alınca sorun çözüldü.

şu anki sorun
Hücre fark etmeksizin manuel bir veri girildiğinde yön tuşlarını kullandığınızda Girilen değer + bir sonraki hücre ismini yazıyor örneğin 1 + j25 gibi tam bu esnada enter derseniz hata verdiği satırı göreceksiniz.

Eger girdiğiniz değerden sonra yön tuşu değilde enter yaparsanız bu sorun kalmıyor. her girilen verilen sonra enter yapmakta mantıklı değil
 

Ekli dosyalar

D22:AL33 aralığında rastgele hücrelere rastgele veri (sayı) yazıp YÖN TUŞlarından birini kullanark seçili hücreyi değiştiriyorum ve belirttiğiniz gibi bir sorun görmüyorum.
 
Merhaba Sayın BARAN
Sorunun nedeni buymuş sizi de gereksiz yere meşgul ettim

Dosyada sadece 17 ve 18 satırda formül kaldı dokunsak mı bilemedim tüm bölümler parça parça yazıldığı için çekiniyorum açıkçası



Ekran görüntüsü 2021-08-29 183656.webp
 
Moderatörün son düzenlenenleri:
Önce anlayamadığım bir durumu belirteyim;
MODULE2'deki PLAN_FINAL_ANA_KUMAŞ makrosunun baş tarafında
Range("DM14" & i & ":DM17" & i).ClearContents
gibi bazı alanların temizlenmesi işlemi var.
Bu tür satırların tümünde kırmızı renklendirdiğim gibi kısımların anlamı yok.
Sanırım i harfleri bir döngüyle silme işleminden kalmış. Kırmızı kısımlar silinebilir.

Asıl sorunuza gelince; D22:DJ120 alanı PLAN_FINAL_ANA_KUMAŞ makro koduyla mı dolduruluyor?
Eğer cevap EVET ise; bu makro kodunun sonundaki PROTECT satırının hemen üstüne aşağıdaki
kod satırlarının eklenmesi yeterli olur gibi görünüyor. Denersiniz.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)
 
Önce anlayamadığım bir durumu belirteyim;
MODULE2'deki PLAN_FINAL_ANA_KUMAŞ makrosunun baş tarafında
Range("DM14" & i & ":DM17" & i).ClearContents
gibi bazı alanların temizlenmesi işlemi var.
Bu tür satırların tümünde kırmızı renklendirdiğim gibi kısımların anlamı yok.
Sanırım i harfleri bir döngüyle silme işleminden kalmış. Kırmızı kısımlar silinebilir.

Asıl sorunuza gelince; D22:DJ120 alanı PLAN_FINAL_ANA_KUMAŞ makro koduyla mı dolduruluyor?
Eğer cevap EVET ise; bu makro kodunun sonundaki PROTECT satırının hemen üstüne aşağıdaki
kod satırlarının eklenmesi yeterli olur gibi görünüyor. Denersiniz.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)
Sayın BARAN
% 90 Oranında MANUEL Dolduruyorum
Çok yoğun olduğum dönemlerde modül 2 deki kod ile dolduruyorum verdiğini kodu modül ikiye ekledim hata aldım.
 
Yanlış hatırlamıyorsam; D22 : DI120 veya DJ2 : DJ120 aralığındaki değer değişimine bağlı
Worksheet_Change kod kısmı daha evvel vardı, yanlış mı hatırlıyorum.
Son belgenizde bu alanlardaki değişimle tetiklenen kod kısmı göremiyorum.

Ayrıca belgenizde formül kalmadığından söz etmiştiniz ancak başka formül alanları da var sanırım.

Son verdiğim kod ilavesinin yerine aşağıdakini kullanmayı deneyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)
.
 
Yanlış hatırlamıyorsam; D22 : DI120 veya DJ2 : DJ120 aralığındaki değer değişimine bağlı
Worksheet_Change kod kısmı daha evvel vardı, yanlış mı hatırlıyorum.
Son belgenizde bu alanlardaki değişimle tetiklenen kod kısmı göremiyorum.

Ayrıca belgenizde formül kalmadığından söz etmiştiniz ancak başka formül alanları da var sanırım.

Son verdiğim kod ilavesinin yerine aşağıdakini kullanmayı deneyin.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(2 satır)
.
Merhaba Sayın BARAN
Manuel yada modül2 kodla DJ Sütunu sütununu doldurduğumda ilgili kod tetikleniyor.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(25 satır)
 
O halde sadece DJ sütunundaki değişimle tetiklenmek üzere 17 ve 18'inci satırdaki formüller şu şekilde kaldırılabilir.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(10 satır)
 
Sayın BARAN
Kodlar çok güzel çalıştı elinize sağlık
küçük bir pürüz var lakin amaç 18 satır sarı alanı sıfırlamak ister manuel ister otomatik dj sütununa veri girmeye devam ediyorum ama 18 satırı sıfırlayamıyorum.

dosyanın son halini ekliyorum.
 

Ekli dosyalar

@Akif59
Bahsettiğiniz şey, sizin kadim sorunuz olan SIFIRLAMA ise,
muhtemelen asal çarpanlarına ayırma işlemi yapılıp, ortak katların tespiti üzerinden hareket edilmesi gerekecek ancak
temel sorun DJ sütununa 10'dan küçük sayı yazılamaması ve sıfırlama işleminin aynı anda gerçekleştirilmesi hedefi.
O konunun çözümü üzerinde daha önce de çok durmuştuk ancak sonuca ulaşamamıştık diye hatırlıyorum.

Şu an sadece 17 ve 18'inci satırda daha evvel formülle yapılan hesaplamanın,
sadece DJ sütununa veri yazıldığında/silindiğinde değil (bu konu bu konu sayfasında daha evvel halledildi),
D2 : DI120 aralığına veri yazıldığında da/silindiğinde de yapılmasını temin etmek üzere,
Worksheet_Change kod blokuna aşağıdaki kısmı eklemeniz (en başa olabilir) yeterli olur.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(9 satır)
 
Üst