Excel dosyasını kapttığımda koşullu sayfa gizleme

Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Ben misal excele giridiğimde sayfa 1 açık ve veri giriş sayfası var
veri giriş sayfasına
kutucuğa 1 yazdığımda makroya bağlı butona bastığımda sayfa 2 ve sayfa 3 açılıyor sayfa 1 kapanıyor.
Buraya kadar tamam bu kodla yapıyorum

Sub mac()
If [AH26] = 1 Then
Sayfa1.Visible = xlSheetVeryHidden
Else
Sayfa2.Visible = xlSheetVisible
Sayfa3.Visible = xlSheetVisible
End If

End Sub

Ben işlemlerimi tamamladıktan sonra kaydet diyip kapadıktan sonra

excel sayfa 1 açık sayfa2 ve 3 tekrar gizli konuma geçsin istiyorum tekrar başladığım konuma geçsin istiyorum ama veri kaybı olmadan. sadece sayfa gizliler açık açıklar gizlensin istiyorum .

Bu işlemi nasıl yaparız.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,211
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
ThisWorkbook kısmına;

Private Sub Workbook_close()
ThisWorkbook.Worksheets("START").Activate
Sheets("START").Visible = True
Sheets("Sayfa2").Visible = xlVeryHidden
Sheets("Sayfa3").Visible = xlVeryHidden
End Sub

Private Sub Workbook_open()
ThisWorkbook.Worksheets("START").Activate
Sheets("START").Visible = True
Sheets("Sayfa2").Visible = xlVeryHidden
Sheets("Sayfa3").Visible = xlVeryHidden
End Sub

Boş bir modüle;
Sub mac()
If [AH26] = 1 Then
Sayfa2.Visible = xlSheetVisible
Sayfa3.Visible = xlSheetVisible
Sayfa1.Visible = xlSheetVeryHidden
End If
End Sub

kodlarını yerleştirerek deneyin.

İyi çalışmalar.
 
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
ThisWorkbook kodu satırı
ThisWorkbook.Worksheets("START").Activate
hata veriyor.
 
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Başka bir sorun var şimdi makrolar güvenlik açısında genellikle etkinletirmiyoruz ilk açılışta yukarıda etkinleştir seçeneğini etkinleştimeden bu işlemi yapmayacak en son nasıl kaydettiysek öyle kalıyor o sayfaya müdehale ediliyor yine.

Bu koşulu yukarıda (x) yani exceli kapat tuşuna bastığımızda yapıp kapatsa açıldığında gerek kalmayacak bu (x) kapat tuşunun makro komutu var mı ?
 
Son düzenleme:

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,211
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Makro güvenliği düşük değilse makrolar çalışmayacağı için bu konumda yapacağınız tek şey sayfaları makro ile aç kapat yapmak.
Ama sayfa açık ve makro güvenliği düşük değilse açılışta makro aktif olmayacağı için sayfaları kapatmayacaktır.
Şayet kapanışta (makro güvenliği düşük ise) makronun buton dışında işlem yapmasını istiyorsanız;
modüldeki kodları;

Sub mac()
If [AH26] = 1 Then
Sayfa2.Visible = xlSheetVisible
Sayfa3.Visible = xlSheetVisible
Sayfa1.Visible = xlSheetVeryHidden
End If
ActiveWorkbook.Save
ActiveWorkbook.Close True
End Sub

Sub Auto_close()
Call mac
End Sub

Şeklinde düzenleyerek deneyin.
İyi çalışmalar.
 
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Düşük modda olması şartmı şuan bu kodu uyguladım sayfaların hiçbiri gözükmüyor butona bastığımda bomboş ekran oldu .
 
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Mehmet bey hani exceli kapatmadan önce makrolar etkin olarak çalışıyoruz kapat tuşuna bastığımızda belki oradaki saniyelik olayı göremeyiz ama o koşullu sayfaları gizleyemezmiyiz. sonuçta kapatırken makrolarımız açık konumda .? Yapmak istediğim olay aslında şu .
Birtane şifre sayfası hazırlaycağım şifreleri doğru girip makro kutusuna tıkladığında gizli sayfalar açılacak ve yetkili kişiler verisini kullanacak işlemini bitirdiğide çarpı kapat tuşuna bastığında belki oradaki saniyelik olayı göremiyeceğiz kapanırken şifre sayfası etkin diğer sayfalar gizli olacak ve kapanacak exceli açtığımızda o şifre sayfası görünecek makrolar kapalı durumda olsa bile çünkü kapanırken şifre sayfasına getirdi. Ben böyle bir fikir buldum şifreleme yöntemi için eğer bunu yaparsa excel excelde bir nevi kolay kırılmayan bir şifreleme yönetemi yapmış oluruz diye düşünüyorum.. Yorum ve çözüm önerilerinizi bekliyorum. İlginiz için ayrıca size çok teşekkür ederim. Saygılar
 
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Mehmet bey gold üye değildim içeriği indirip inceleyemedim bu yüzden uzun süredir yazamadım.
Şimdi gold üyeyiz :) . Gönderdiğiniz http://www.excel.web.tr/f48/excel-do...e-t145596.html linkindeki 7 . mesaj işime yarıdı ben sadece kill kodunu kaldırdım. Şöyle bir önerim var hani makroyu etkinleştimeden işlem yapamayacak bir pozİsyon oluşturursak bu çalışman süper olacak misal. sayfaların hücreleri formülleri normalade sayfa koruması koyduğumuzda sayfa korumasını kaldır işareti geliyor. Aynı bunun gibi sayfalarımız makrolar etkinleştirilmeden kilitli yapsak kullanıcıyı makroları etkinleştirmeye zorlasak bu yaptığınız sistem çok kolay kırılamayan bir konuma gelir . Benim Veri giriş, Isı kaybı,Radyatör döküm ve sizin yazdığınız h, 2015 sayfaları olacak . Benim veri ,ısı kaybı,radyatör döküm sayfaları açık konumda kaydettiimizde öyle kalıyor. sonra tekrar açtığımızda makroları etkinleştimessek benim formüllü sayfalarımı kullanabilirler. Bu sayfaları makroya bağlı formüllerimi koruyarak nasıl bir çözüm üretebilirim. benim düşündüğüm yukarda analttığım . Ama sizin önerinize çok ihtiyacım var. Saygıar.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,211
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Linkini verdiğim dosyayı açın ve
Thisworkbook kod kısmına;

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If budosya = False Then Cancel = True
End Sub

Kodlarını,
Boş bir Modülün kod kısmına;

Public budosya As Boolean
Sub kaydet()
budosya = True
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "2015" Then Worksheets(i).Visible = xlVeryHidden
Next i
ThisWorkbook.Save
budosya = False
End Sub

Kodlarını yerleştirin ve 2015 sayfasında bir butona kaydet makrosunu bağlayın.

Böylece kullanıcı sayfaları görmek için makro güvenlik seviyesini düşük seçmek zorunda. Ayrıca kayıt işlemini butonla yapmak zorunda (kaydet ve farklı kaydet iptal)

Makro güvenliğini düşük yada yüksek seviyeye çekerek test edin.
İyi çalışmalar.

Not: Adım Mehmet değil Mustafa
 

Ekli dosyalar

Son düzenleme:
Katılım
6 Eylül 2011
Mesajlar
73
Excel Vers. ve Dili
2007 TÜRKÇE
Teşekkür ederim mustafa bey :)
 
Üst