manuel veri girişi engelleme

Katılım
12 Mayıs 2007
Mesajlar
25
Excel Vers. ve Dili
excel 2003
türkçe
ekteki dosyada "data" adında bir aralık tanımladım. aralıktaki hücrelere tıklayınca açılan formdan seçim yapılarak hücreye veri giriliyor.
fakat form açıldıktan sonra kullanıcı iptal'e basarak yada formu çarpıdan kapatarak manuel olarak veri girişi yapabiliyor.
bunu engellemenin yolunu bulamadım.

aşağıdaki gibi birşey denedim fakat hata veriyor.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim msg As String
If Target.Count > 1 Then Exit Sub
   If Not Intersect(Target, Range("data")) Is Nothing Then
        With Target
            If Len(.Value) > 0 Then
                msg = "Hücre " & .Address(False, False) & ":"
                msg = msg & vbCrLf & vbCrLf & "Sadece listeden giriş yapılabilir."
                MsgBox msg, vbCritical, "HATA"
                Target.Value = ""
                UserForm1.Show
                Exit Sub
            End If
        End With
    End If
End Sub
yardımlarınız için şimdiden teşekkürler
 

Ekli dosyalar

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

bu işinizi görür mü?

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect
Set Target = Me.Range("data")
If Not Intersect(ActiveCell, Target) Is Nothing Then
    If UserForm1.Visible = True Then GoTo 10
    UserForm1.Show
End If
10
If UserForm1.Visible = True Then
ActiveSheet.Unprotect
Else:
ActiveSheet.Protect
End If
End Sub
 
Katılım
12 Mayıs 2007
Mesajlar
25
Excel Vers. ve Dili
excel 2003
türkçe
yanıt için teşekkürler.
kod çalışyor fakat tüm çalışma sayfasında.
peki bunu sadece data aralığında çalıştırmanın bir yöntemi varmı. yani diğer hücrelere elle veri girişi serbest fakat sadece data aralığında formdan seçmek mecburi.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
yanıt için teşekkürler.
kod çalışyor fakat tüm çalışma sayfasında.
peki bunu sadece data aralığında çalıştırmanın bir yöntemi varmı. yani diğer hücrelere elle veri girişi serbest fakat sadece data aralığında formdan seçmek mecburi.
merhaba
sadece data aralığını korumak için bilinen sayfa koruma yöntemini kullanmalısınız.

öncelikle korumak istediğiniz alanı belirleyin, sonra kod çalıştığında bu alanda etkili olacaktır.
 
Katılım
12 Aralık 2024
Mesajlar
14
Excel Vers. ve Dili
Microsoft Office 2010 Türkçe
merhaba

bu işinizi görür mü?

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.Unprotect
Set Target = Me.Range("data")
If Not Intersect(ActiveCell, Target) Is Nothing Then
    If UserForm1.Visible = True Then GoTo 10
    UserForm1.Show
End If
10
If UserForm1.Visible = True Then
ActiveSheet.Unprotect
Else:
ActiveSheet.Protect
End If
End Sub
Hocam veri girişleri sadece form ile yapılsın. Excel sayfasından manuel giriş yapılamasın istiyorum. Paylaştığınız bu kodun aynısını kopyalayıp kendi userformuma yapıştırdım. hata veriyor. Bu kod içerisinde kendi sayfama göre uyarlayacağım bir yer mi var? Ya da bu kodun öncesi veya devamı mı var? Bilgi verirseniz sevinirim.
 
Üst