Çözüldü Userform Ile Sayfa Korumal Sayfalara Kayıt

Akif59

Yıllık Forum Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba
Yeni personel girişi isimli user form ile sayfa korumalı sayfalara KAYDET BUL GÜNCELLE SİL gibi işlemler yapmal istiyorum

Unprotect ve protect eklemelerini UserForm kodlarında nerelere eklemem gerekiyor.
sorunun çözümü konusunda destek olabilirseniz memnun olurum.
 

Ekli dosyalar

Kaydet için en başta UnProtect yapmışsınız, işlem bitince de Protect.
Böyle de olması gerek..
Sayfanın korumasını kaldırıp, verileri yazdır, sonra tekrar koru.

Tek dikkat etmeniz gereken husus, Exit Sub, Exit For, Exit Do tarzı işlemler ile sonlandırma yapıyorsanız, ilk satıra yazdığınız korumayı kaldırma kodu çalışacağı için en sonraki koruma ekleme çalışmayacaktır.

Bu hususu gözönünde bulundurarak kodlarınızı en iyi siz bildiğiniz için, uygun yeri de siz seçeceksiniz.

Kod:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
Örneğin Kaydet butonundaki kodların üstteki olanlarından bir tanesi Exit Sub ile prosedürü tamamlamadan sonlandırırsa, sayfanız korumasız kalır.
Bunun için ayrı bir modüle Sayfa_Koru, Sayfa_Kaldir gibi iki tane yeni prosedür ekleyin ve unprotect ve protect kodlarını yazın.
Sonra Exit Sub önüne Call komutu ile Sayfayi_Koru koymanız yeterli olur.
Ya da goto Git deyip, en son kod satırına gidebilirsiniz.

Tek tek kodlara bu eklemeleri yapmak için vaktim olmadığı için ancak bu kadar dönüş yapabiliyorum.

Umarım yol gösterici olmuştur.
 
Kaydet için en başta UnProtect yapmışsınız, işlem bitince de Protect.
Böyle de olması gerek..
Sayfanın korumasını kaldırıp, verileri yazdır, sonra tekrar koru.

Tek dikkat etmeniz gereken husus, Exit Sub, Exit For, Exit Do tarzı işlemler ile sonlandırma yapıyorsanız, ilk satıra yazdığınız korumayı kaldırma kodu çalışacağı için en sonraki koruma ekleme çalışmayacaktır.

Bu hususu gözönünde bulundurarak kodlarınızı en iyi siz bildiğiniz için, uygun yeri de siz seçeceksiniz.

Kod:
İçeriği görüntülemek için giriş yapmalısınız
(6 satır)
Örneğin Kaydet butonundaki kodların üstteki olanlarından bir tanesi Exit Sub ile prosedürü tamamlamadan sonlandırırsa, sayfanız korumasız kalır.
Bunun için ayrı bir modüle Sayfa_Koru, Sayfa_Kaldir gibi iki tane yeni prosedür ekleyin ve unprotect ve protect kodlarını yazın.
Sonra Exit Sub önüne Call komutu ile Sayfayi_Koru koymanız yeterli olur.
Ya da goto Git deyip, en son kod satırına gidebilirsiniz.

Tek tek kodlara bu eklemeleri yapmak için vaktim olmadığı için ancak bu kadar dönüş yapabiliyorum.

Umarım yol gösterici olmuştur.
Merhaba SAYIN @Admin (Bahadır) bey
Muhtemelen Açıklamanız kod bilgisi olan birisi için çok açıklayıcıdır.
Ama kodlar ile ben bu sitede tanıştım açıklamanızı uygulayabilecek kapasitede değilim
müsait olduğunuzda uygulanmış halde destek olursanız çok memnun olurum.
saygılar sunuyorum
 
Merhaba Akif bey,

Mesai saatlerim içinde iş hayatımın yoğunluğu ve mesai saatlerim sonrasında da ExcelDepo için harcadığım zaman nedeniyle, ne yazık ki tek tek sorulardaki kodlamalara zaman ayıramıyorum.
Elbet yardım etmek isterim ama bir beklenti oluşturmak içinde söz vermeyi doğru bulmuyorum.

Bilginize sunarım.
 
@Akif59

Belgenizi ve belgede mevcut kodları incelemedim.
Mevcut kaydetme prosedürünün en sonuna End Sub satırının hemen üstüne
bitir: gibi bir satır ekleyin, protect işlemini yapan kod satırını bitir: ile End Sub arasına taşıyın,
son olarak da kodlar içerisinde mevcut Exit Sub kısımlarını GoTo bitir şeklinde değiştirin.

.
 
Merhaba Sayın @okutkan
son eklediğiniz dosyada seçilen deparmanda seçilen gurubun son satırnına yeni boş tatır açamadığığı için bu hatayı veriyor.


Ekran görüntüsü 2022-02-11 220203.webp
 
Moderatörün son düzenlenenleri:
Evet user forla giriş temizleme güncelleme gibi işlemderde sifreleme öncesi hiç bir problem yok

Amacım Çok kullanıçılı bir dosya olacağı için departman saylarındaki user formala Müdale edilen sütunları korumak.
 
Büyük ihtimalle, Aktif sayfa şifresini kaldırma işlemi yaptığı için hata alıyor.

Aktif sayfa şifresi kaldırma yerine sayfa ismi belirterek şifre kaldırma işlemi daha doğru olacak. Şifre çözenmeye yarayan, Activesheet.unprotect yazan satırları sf.unprotect olarak değiştirin. Tekrar şifreleme satırında da aynı şekilde değişiklik yapın.
Kısaca kod içerisindeki "Activesheet" yazan yerlere "sf" olarak değiştirin.
 
Sayın @okutkan
KAYDET işlemi taman dediğiniz değişikliği yapınca düzeldi
BUL kısmınında ben halletim

GÜNCELLE ve TEMİZLE İşlemleide hala hatalıyorum bu iki işlem kodunda .unprotect ve protect işlem anını tuturamadım
 
Temizle ve güncelle buton kodlarını burada paylaşın bi bakayım.
Merhaba Sayın @okutkan dosyanın son halinide ekliyorum.hiç bir kod bloğuna müdahalede bulnunulmadı sade paraola satırları eklendi.
Kod:
İçeriği görüntülemek için giriş yapmalısınız
(73 satır)
 

Ekli dosyalar

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
13
Üst