• DİKKAT

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

run time error 1004 hatası

  • Konbuyu başlatan Konbuyu başlatan QNURi
  • Başlangıç tarihi Başlangıç tarihi
Katılım
10 Eylül 2005
Mesajlar
97
Merhaba Arkadaşlar,

sayfamda 75 tane checkbox var. Diğer sayfanın K13 hücersinde ise bu sayfada işaretlenen checkboxların sayısını yazan kutu var(K13)

Ben K13 hücresini sayfa koruması ile kilitlediğimde run time error 1004 hatası veriyor. Kilidi kaldırında sorun yok. Ama ben bu hücreninde(K13'ün) kullanıcı tarafından değiştirmesini istemiyorum. Bu sorunu nasıl çözebilirim. Yardım lütfen.

Workbook kodu
----------------------------------------------------------------
Dim ch() As New Class1
Private Sub Workbook_Open()
If Date >= CDate("28.02.2009") Then
Call Tarih
MsgBox "Ödeme tutarları değiştiğinden, bu dosyanın kullanımına izin verilmemektedir. Lütfen güncel tarihli dosya talep ediniz!!", vbCritical, "DİKKAT"
Exit Sub
End If
say = ActiveSheet.Shapes.Count
ReDim Preserve ch(say)
For a = 1 To say
tip1 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object)
If tip1 <> "OLEObject" Then GoTo 10
tip2 = TypeName(ActiveSheet.Shapes(a).OLEFormat.Object.Object)
If tip2 = "CheckBox" Then
c = c + 1
Set ch(c).ch = ActiveSheet.Shapes(a).OLEFormat.Object.Object
End If
10 Next
End Sub

Class Kodu
--------------------------------------
Public WithEvents ch As MSForms.CheckBox
Private Sub ch_Click()
If ch.Value = True Then
[k13] = [k13] + 1
Else
[k13] = [k13] - 1
End If
End Sub
 
Son düzenleme:
Merhaba Arkadaşlar,
sayfamda 75 tane checkbox var. Diğer sayfanın K13 hücersinde ise bu sayfada işaretlenen checkboxların sayısını yazan kutu var(K13)
Ben K13 hücresini sayfa koruması ile kilitlediğimde run time error 1004 hatası veriyor. Kilidi kaldırında sorun yok. Ama ben bu hücreninde(K13'ün) kullanıcı tarafından değiştirmesini istemiyorum. Bu sorunu nasıl çözebilirim. Yardım lütfen.
Aşağıdaki şekilde bir çözüm geliştirebilirsiniz.Önce sayfanın korumasını açıp , işleminizi yapıp sonrada sayfayı koruma altına alabilirisiniz.
Kod:
Sub hata()
ActiveSheet.Unprotect
''' Kodlarınız
ActiveSheet.Protect
End Sub
 
Aşağıdaki şekilde bir çözüm geliştirebilirsiniz.Önce sayfanın korumasını açıp , işleminizi yapıp sonrada sayfayı koruma altına alabilirisiniz.
Kod:
Sub hata()
ActiveSheet.Unprotect
''' Kodlarınız
ActiveSheet.Protect
End Sub

Yazdığım koda göre nasıl uygulamam gerekir. Workbook için mi yoksa Class için mi yazacağım?
 
Bu şekilde dener misin ?
Kod:
Private Sub ch_Click()
ActiveSheet.Unprotect
If ch.Value = True Then
[k13] = [k13] + 1
Else
[k13] = [k13] - 1
End If
ActiveSheet.Protect
End Sub
 
Kod çalıştı. Fakat checkbox tılkanınca parola soran ekran çıkıyor.

Bu formu ben kullanmicam. Başkaları kullanacak. CheckBoxları işaretleyecekler. Diğer sayfanın K13 hücresinde seçilen checkboxların toplamı çıkacak. Ama K13 hücresini silemeyecekler. Konu bu. Biraz zor galiba. Anlatmak ta zor oldu biraz.
 
Son düzenleme:
Arkadaşlar Aynı durum benim içinde geçerli run time 1004 hatası vermekte ve dediğiniz kodları uyguladığımda korumayı aç alanı geliyor bunun bir çözümü yok mu
 
Geri
Üst