• DİKKAT

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

Sayfa Koruma yapmadan değişiklik engelleme

Katılım
19 Mart 2010
Mesajlar
144
Excel Vers. ve Dili
Office 365 İngilizce
Sayfa koruma işlemi yapmadan örneğin sayfada arka planı gri olan hücrelerin içeriğinin değiştirilmesini engelleyebilir miyiz? Makro ile "eğer hücre arka planı gri ise msgbox çıksın ve değişikliği geri alsın" gibi bir kodlama yapılabilir mi?
 
Seçilirse A1 hücresibe yönlendirdim. Sayfanın kod sayfasına aynen yapıştırın.
C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then [A1].Select
If Target.Interior.Color = vbYellow Then [A1].Select
End Sub
 
Seçilirse A1 hücresibe yönlendirdim. Sayfanın kod sayfasına aynen yapıştırın.
C++:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then [A1].Select
If Target.Interior.Color = vbYellow Then [A1].Select
End Sub

Ömer bey çok teşekkür ederim. Peki A1 hücresine yönlendirmek yerine seçilen hücre ile aynı sütunda olan bir sonraki sarı olmayan hücreye yönlendirilebilir mi? Örneğin A235 arka plan sarı, ona tıkladığında sayfanın en başına döndürmek yerine A236, eğer o da sarı ise A237'ye yönlendirsin gibi birşey yapılabilir mi?
 
Sadece A sütununda çalışır....

C#:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Interior.Color = vbYellow Then Target.Offset(1, 0).Select
End Sub

.
 
Son düzenleme:
Sadece A sütununda çalışır....

C#:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Interior.Color = vbYellow Then Target.Offset(1, 0).Select
End Sub

.

Hocam son bir sorum var. Bu arka planı sarı olan hücreyi seçemiyoruz bu kodla ama o hücrenin yer aldığı bir aralık seçilebiliyor. Örneğin A sütununu başlığa tıklayıp seçerek delete tuşuyla tüm içeriği silebiliyor. Arka planı sarı olan hücrelerin yer aldığı bir aralık seçilmesini de bu şekilde engellemenin bir yolu var mı?
 
Sadece A sütunu için çalışır....

C#:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 And Target.Cells.Count > 1 Then
        Target.Cells(Target.Cells.Count).Select
    End If
    If Target.Column = 1 And Target.Interior.Color = vbYellow Then Target.Offset(1, 0).Select
End Sub


.
 
Geri
Üst