Çözüldü Renge göre hücre engelleme ve kopyalama

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

cenkozkurt

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar,

Bir sürü değişkenin olduğu bir hesaplama yapmam lazım ve bunun için bir dosya hazırladım. Ama bu dosyadaki sadece ekteki renkte (RGB=238,236,225) olan hücrelere veri girilmesine izin vermem gerekiyor. Malesef manuel koruma metodu ile olmamalı, çünkü bu çalışma kitabına userform aracılığı ile aralara satırlar ekleniyor, bu yüzden yeni eklenen hücreleri korumak yerine, mümkün ise ekteki renkli olan hücreler hariç bütün çalışma kitabındaki her hücre korumalı olmalı ve veri girişi engellenmeli.

Bir diğer sorumda:
Sayfa1'e (aktif olan sayfaya) girilen verileri çalışma kitabındaki diğer sayfalarda aynı yerlere kopyalamak olmalı. Bu hücrelerde aynı renkliler. Tabiki normal kopyala yapıştır makrosuyla olmamalı. Çünkü araya farklı satırlar eklebiliyor yani dinamik bir kod olmalı renge göre kopyalama işlemini gerçekleştirmeli.

Örneğin: Sayfa 1 de c4 hücresi hedef renge sahip, bu yüzden bu hücredeki veriyi kopyalayıp sayfa 2 ve 3 teki aynı hücreye yapıştırmak istiyorum. Ancak bu yapıştırılan veriler daha sonra istenilirse manuel olarak değiştirilebilmeli.

Yardımlarınızı bekliyorum şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba Sayın @cenkozkurt .
Örnek belgede herhangi bir kod yok, userform yok, formül yok.
En azından kullanılan kodların satır ekleme kısımları ve varsa
kullanılan formüllerden,renklendirilmiş alanlarda işlem yapanlar içinde olacak şekilde bir örnek belge ekleseydiniz
cevap yazmayı düşünecek arkadaşlarımız açısından daha iyi olurdu.

İsteklerinizle ilgili birşeyler yazayım:
-- Gerçek belgenizdeki sayfalar birbirinin tam olarak (formüller vs) aynısı mıdır?
Eğer öyleyse işlemleri tek sayfada yapıp, gerekliyse belge kapatılırken veya sizin belirleyeceğiniz bir anda
kopya oluşturma öncesinde mevcut kopya sayfalar silinip, mevcut ilk sayfanın kopyaları oluşturulsa olmaz mı?
-- Renge göre işlem yaptırmak esas olarak mesele değil
(makro ile olabilir veya belli bir hücreyi istediğiniz gibi renklendirirsiniz, bu hücre referans olarak kullanılabilir)
-- Kilit durumuyla ilgili olarak da şunu söyleyeyim; kullandığınız userform veya diğer kodlarda doğru noktalarda sayfaların kilidi açılıp
işlem sonrasında tekrar kilitlenerek işlem yapılmasında ne sakınca vardır anlayamadım, Sayfa koruma (şifreli de olabilir) işlemini neden istemiyorsunuz?
-- Son olarak da, belgenizin sayfalarında yardımcı sütun olarak kullanılmak üzere uygun olan bir sütun var mıdır, hangi sütun olabilir?

Yukarıdaki açıklama ve sorulardan hareketle isterseniz, yeni açıklama ve yeni örnek belge ekleyin.
Örnek belge özellikleriyle ilgili kısa açıklama cevabımın altındaki İMZA bölümünde var.
 
Moderatörün son düzenlenenleri:
Merhabalar Ömer bey,

Cevabınız için teşekkürler. Haklısınız eklediğim dosya isteklerimi cok yansıtmıyor nedeni, asıl dosyamın başka bir dilde olmasıdır ve cok fazla farklı değer içermesidir. Ekte dosyamın bazı kısımlarını değiştirerek ekledim renkli kısımların görülmesi açısından.

-- Sayfaların hepsi yapı olarak aynılar. Bu bir parça listesi sonuç olarak farklı kütle ve hacim hesaplamaları yapacak. Her elementi sınıflandıracak. Sayfalar aynı olmasına karşın içerisindeki değerler değişecek. Yukarıdaki belirttiğim renkteki hücreler değişilebilmeli. Bu kopyalama işlemi kullanıcıya kolaylık sağlamak amacıyla yapılacak.
Farklı değerler olduğundan ötürü bu hesaplama işlemlerinin belge kapatılmadan yapılması gerekmekte.
-- Bir referans hücre belirledim "Q3", burdaki değere göre yapılabilir.
-- Bu sistem acıkcası çok güvenlikli bir sektörde kullanılacak o yüzden herşey kilitlenmeli kimse herhangi bir formüle erişip değiştirememeli yada ürün isimlerini. Belgeyi sadece ben kullanmayacağım. Bu yüzden bu korumanın otomatik olması gerekmekte. Araya hücreler eklendiği için en basit yolun bunu renge göre yapmak oldugunu düsündüm.
-- Yardımcı sütün olarak "R" sütünu kullanılabilir
-- Çok basit olarak verdiğim örnekteki userformda "Tip1" ve "Tip2" yardımıyla aralara satırlar ekleniyor. Bu tarzdaki makrolardan cok fazla sayıda var.

İçerik olarak yazdığım herşey örnek, bir mantık aranmaması için söylüyorum. Şimdiden teşekkürler.
 

Ekli dosyalar

Açıkçası belgenizin işleyiş adımlarını ve isteklerinizin aşamalarını tam olarak anlamadığımı belirteyim.
Belgeyi ve işleyişi siz bildiğinizden senaryoyu siz biliyorsunuz.
UserForm, mevcut açılır listelere göre satırlar filan ekliyor onu anladım.

İsteklerinizle, belgenizi birbiriyle bağdaştıramadım, örneğin belgede tek bir sayfa var.
Diyelim belgenizi kullanmaya başmadınız ve userform ile satırlar vs eklediniz (eklenen satırlar hem üzerinde işlem yapılacak
renklendirdiğiniz hücreleri hem de bu kapsamda olmayan hücreleri kapsıyor anladığım kadarıyla).
Sayfanın kopyalarını oluşturma kodlarınız mevcut mu veya kopyalarını mı oluşturmak istiyorsunuz
yoksa hazır sayfalarınız var ve ana sayfada satır eklemeleri yapıldıkça aynı eklemeler diğer sayfalarda mı yapılsın istiyorsunuz?

Öncelikle belgenin kullanım senaryosu ile isteklerinizi birlikte düşünerek biraz açıklama yapmanızda yarar var.

İlk örnek belgeniz üzerinden gidersem, aşağıdaki kod 1 isimli sayfada belirttiğiniz rengi taşıyan hücreleri açık diğer hücreleri
kilitli hale getirerek. sayfa koruması uygular (sayfa korumasının açılması için şifre sorulması da sağlanabilir elbette).
Böylece belirtien renge sahip hücreler dışında işlem yapılması engellenmiş olur.
VBA:
You must log in to view content
(18 satır)
 
Merhabalar Ömer bey,

Cevabınız için teşekkür ederim. Evet ilk aşamada istediğim kod tam olarak buydu. İşlem öncelikle ilk gelen userformdan seçenekler seçiliyor ve daha sonra aralara satırlar ekleniyor. Bu satırlar farklı tasarımların getirdiği gereksinimler. Tasarım özellikleri seçiliyor acıkcası burada. Seçildikten sonra son olarak kaç tane farklı ürün grubu olması gerektiği soruluyor ve bu sayıya göre de sayfalar kopyalanıyor. Sayfalar yapı itibariyle birbirinin aynısı ama içerik olarak malzeme oranları, element içerikleri vs. gibi özellikler farklılık gösteriyor.

Sayfa kopyalamayı ve isimini uyarlamayı aşağıdaki kodla yapıyorum.

Kod:
You must log in to view content
(12 satır)


- Sizin verdiğiniz kodda "With Sheets("1")" kısmı benim durumumda sabit olmayacak sürekli değişken sayıda sayfalar var, Bu sebeple bunu bütün çalışma kitabına uygulamak daha doğru olacaktır.
- Bir diğer istediğim 2. gönderdiğim dosyadaki "Değerleri kopyala" tuşu yardımıyla, yukarıdaki renkte olan hücreleri, workbook içerisindeki diğer bütün sayfalara kopyalanmasını istiyorum. Dediğim gibi yapı olarak hepsi 1'e 1 aynı. Bu kopyalanan değerler sadece zaman kazanmak amacıyla olacak. Yani istenildiği takdirde değiştirilebilecek.

Şimdiden teşekkürler.
 
Önceki verdiğim cevaptaki kod, Module değil aktif sayfanın kod bölümüne uygulanıp,
With Sheets("1") kısmı With Activesheet olarak değiştirilirse esas olarak mesele kalmaz.

Birkaç hususu sorayım;
-- Belgede mevcut aynı yapıdaki sayfalara değerleri aktarmak mesele değil.
Mevcut UserForm'daki OLUŞTUR ismini verdiğiniz düğme kodlarının son kısmında yer alan ve
kopya sayısını belirleyen BEAnzahl değişkeni her şekilde BOŞ değer alıyor.
Bu değişkene nasıl değer veriyorsunuz acaba?
-- Kodlar Module yerine mevcut sayfanın kod bölümüne uygulanır ve zaten bu sayfanın kopyası oluşturulacağından
aynı kodlar oluşturulan yeni kopya sayfalarnın kod bölümünde de olacaktır. Yanlış mı düşünüyorum?
-- Belgedeki aktif sayfanın diyelim 5 kopyası oluşturuldu ve dolayısıyla DEĞERLERİ KOPYALA ismini verdiğiniz
sayfadaki düğme kopya sayfalarda da olacak demektir.
Bu durumda kopya sayfadaki veriler değiştirildi (mevcut UserForm bu kopya sayfalarda da çalıştırılacak mıdır?
-- Eğer cevap EVET ise önceden oluşturulmuş kopya sayfalar ve bir önceki aşamada aktif olan sayfa silinip,
işlem sırasında aktif olan sayfanın kopyaları mı oluşturulacak?
.
 
Merhabalar Ömer bey,

Cevabınız için teşekkürler. Dediğiniz şekilde sorunsuz çalışıyor.

--"Oluştur" butonundaki kod sayfa kopyalamaya yarıyor, önceki mesajımda yazdığım kod ile çalışıyor ve onda bir sorun yok. Comboboxtan aldığı değere göre sayfa sayısını ve ismini ayarlıyor.
-- Haklısınız sayfalar kopyalanacak ama bu kopyalama işlemini sadece ilk olan sayfadan diğer bütün sayfalara kopyalarken yapmak istiyorum. Dediğiniz gibi bu buton diğer sayfalarda da olacak ancak, sadece ilk olan sayfada bir kere kullanılmasına izin vermek istiyorum.
-- Sorularınız için çok teşekkürler gerçekten yardımcı oluyor çok. Mevcut userform için herhangi bir buton yapmayacağım, yani sadece belge açılırken 1 kere açılacak. Eğerki orada bir sorun var ise daha sonra açılmayacak. Herşeyi baştan yapmak gerekli bu durumda. Yapılan işlemin güvenilirliği açısından bu çok önemli.
-- Bir önceki sorunun cevabı hayır olduğu için bu madde geçersiz kalıyor.

Şimdiden teşekkür ederim. İyi günler.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
9
Üst