Makro ile korumaya alınmış sayfada ctrl f ile arama yapma

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Bir excel çalışma kitbımda, açtığım zaman dosya kimde açık diye bir sheet ile Kartlar sheeti var. dosya kimde açık sheetinde o an o dosyayı açan kişinin pc username bilgisi a2 hücresine geliyor.
bu 2 hücresindeki veriye göre Kartlar sayfasını kullanabilecek ve kullanamayacak kişileri aşağıdaki kodla belirliyorum.
kullanacak kişiler Kartlar sayfasında her türlü işlemi yapabilirken kullanamayacak kişiler hiç bir işlem yapamıyor sadece sayfadki verileri görüntülüyor.

fakat bu Kartlar sayfasında işlem yapamayan kişilerin ctrl+f ile açılan aramapenceresine yazdığı bir veriyi aratma yapmasını sağlamak istiyorum. çünkü bu işlem yapamayanlar ctrl+f ile bir arama yapamıyor. en azından bu işlemi yapabilmelerine izin verebilmenin yolu nedir makro da nasıl bir kod revizesi gerekir bilgilerinizi rica ederim

Kod:
Private Sub Worksheet_Activate()

If Sheets("dosya kimde açık").Range("a2") = "ali" Or Sheets("dosya kimde açık").Range("a2") = "veli" Then

MsgBox prompt:="Bu Sayfa Üstünde Veri Giriş İzniniz Yoktur", _

Buttons:=vbOKOnly + vbCritical, Title:=" Uyarı "

End If

If Sheets("dosya kimde açık").Range("A2").Value = "ahmet" Or Sheets("dosya kimde açık").Range("A2").Value = "mehmet" Then

       Sheets("Kartlar").Unprotect "xd"

Else

        With Sheets("Kartlar")

            If .Cells.Locked = False Then .Cells.Locked = True

            If .Cells.FormulaHidden = False Then Cells.FormulaHidden = True

                .Protect "xd", DrawingObjects:=True, Contents:=True, Scenarios:=True

                .EnableSelection = xlNoSelection

        End With

        End If

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Korumaya alırken KİLİTLİ HÜCRELERİ SEÇ özelliğini aktif yaparak deneyiniz.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
denedim olmadı.

acaba bir userform açsak ve bu userformda arama yapsak userform açılınca protect olan sayfa unprotect olacak aramayı yapacak userformla ve aradığımız sonuç hangi hücredeyse sonuçç getirecek. sonra userform kapatınca tekrar sayfa protected olacak
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
aşağıdaki kod düzeneğinde bir user form üstünde find ve close butonu oluşturup butonlara bu kodları atadım
kartlar sayfasında izni olmayan kişiler bu userofrm ile arama yapabiliyor.
ama izni olan kişilerde kartlar sayfasına geçince hata veriyor o hatayıda kartlar sayfasınaait kod düzeneğindeki --sheets("kartlar").unprotected "xd"-- satırında vermektedir. bu hatayı nasıl aşabilirim acaba
Kod:
Private Sub CommandButton1_Click()

Dim kartlar As Worksheet

Set kartlar = Sheets("kartlar")



kartlar.Unprotect "xd"


aranan = "*" & TextBox1.Text & "*"

Set bul = kartlar.UsedRange.Find(aranan)


If Not bul Is Nothing Then

MsgBox "Aradığınız değer bulundu: " & bul.Address

bul.Select

Else

MsgBox "Aranan değer bulunamadı"

Exit Sub

End If


With Sheets("kartlar")


    If .Cells.Locked = False Then .Cells.Locked = True


    If .Cells.FormulaHidden = False Then Cells.FormulaHidden = True


        .Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True


        .EnableSelection = xlNoSelection


End With



End Sub


Private Sub CommandButton2_Click()

Unload Me

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Size önerdiğim çözümü boş bir excel dosyasında az önce denedim ve olumlu sonuç aldım.
 
Üst