• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makro ile formül gizleme

Katılım
29 Mart 2023
Mesajlar
15
Excel Vers. ve Dili
2016
A3,A4,A5, .. hücresinde formül var. Bunları sayfa koruma almadan gizlemek istiyorum. Teşekürler üstadlarım
 
Sayfa korumasını neden kullanmak istemiyor sunuz?
 
Çünküüü makro eeer bi şeye kaadirdir de ondan belki :) Korhan bey.
 
A3. satırda sıra numarası var. İf ile sıra numarası veriyor. Kullanıcı sayfa koruması kilidi kaldırıp silebilme ihtimali de var. Fakat makro ile gizlersem korumaya gerek kalmadan tertemiz iş olacak diye düşünüyorum
 
Sayfa koruması kilidini nasıl kaldıracak?
 
A1 hücresinde, B1 hücresini 1 ile toplayan bir formül(=B1+1) varsa
İlgili sayfanın kod modülüne aşağıdaki kodu yazın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
 Target.FormulaR1C1 = "=RC[1]+1"
 End If
End Sub
A1 hücresinde bir değişiklik yapılınca, tekrar bu formülü A1 hücresine yazacaktır.
Ancak merak ettim, koruma şifresini kıran biri, bu makroyu da silemez mi?
 
  • Beğen
Reactions: hby
Sayfa korumasının şifresini paylaşmazsanız sorun çözülecektir.
 
A1 hücresinde, B1 hücresini 1 ile toplayan bir formül(=B1+1) varsa
İlgili sayfanın kod modülüne aşağıdaki kodu yazın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.FormulaR1C1 = "=RC[1]+1"
End If
End Sub
A1 hücresinde bir değişiklik yapılınca, tekrar bu formülü A1 hücresine yazacaktır.
Ancak merak ettim, koruma şifresini kıran biri, bu makroyu da silemez mi?
Teşekürler deneyip paylaşım yapacağım.
Ben sayfa koruma olmadan formül gizlenebiliyor mu gizlenmiyor mu ? Bunu merak ettim. Oluyorsa uygulayacaktım
 
Eğer yukardaki kod işinize yarayacaksa aşağıdaki kod daha esnek.
Kod:
Dim a

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Or Target.Address = "$A$4" Or Target.Address = "$A$5" Then
 Target.Formula = a
 End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
a = Target.Formula
End Sub
 
  • Üzgün
Reactions: hby
Geri
Üst