नीचे कोड स्निपेट सेल की डेटा सत्यापन स्थिति को बदलता है और एक्सेल-2003 वर्कशीट असुरक्षित होने पर चलता है। हालांकि, जब मैं काम शीट को सुरक्षित मैक्रो चलाने नहीं है औरएमएस-एक्सेल में वर्कशीट संरक्षित होने पर मैं रन-टाइम त्रुटि से कैसे बचूं?
Me.unprotect
...
Me.protect
के साथ एक रन-टाइम त्रुटि
Run-time error '-2147417848 (80010108)':
Method 'Add' of object 'Validation' failed
मैं कोड लपेटकर की कोशिश की है को जन्म देती है लेकिन यह ठीक से काम नहीं करता है। तो, उपर्युक्त रन-टाइम त्रुटि के बिना शीट सुरक्षित होने पर मैं काम करने के लिए नीचे दिए गए कोड को संशोधित कर सकता हूं (यानी कोड अनलॉक सेल के सत्यापन को संशोधित करता है)?
अद्यतन
मेरे मूल कृति पुस्तक एक एक्सेल 2003 मैं Workbook_Open
Sub WorkBook_Open()
Me.Worksheets("MainTable").Protect contents:=True, userinterfaceonly:=True
End Sub
कोड अभी भी साथ रन निम्नलिखित में विफल रहता है के लिए निम्नलिखित परिभाषा के साथ Excel 2007 @eJames समाधान का परीक्षण किया है वर्कशीट सुरक्षित होने पर समय त्रुटि
Run-time error '1004': Application-defined or object-defined error
धन्यवाद, अज़ीम
कोड स्निपेट
'cell to add drop down validation list'
dim myNamedRange as String
dim modifyCell as Range
modifyCell = ActiveCell.Offset(0,1)
' set list values based on some conditions not defined for brevitity'
If myCondition then
myNamedRange = "range1"
Else
myNamedRange = "range2"
End If
With modifyCell.Validation
.Delete
'Run time error occurs on the next line'
.Add Type:=xlValidateList, AlertStyle:=xlValidAltertStop, _
Operator:=xlBetween, Formula1:="=" & myNamedRange
...
' skipping more property setting code '
...
End With
संभव डुप्लिकेट [एक्सेल में कोशिकाओं की रक्षा कैसे करें, लेकिन इन्हें वीबीए स्क्रिप्ट द्वारा संशोधित करने की अनुमति दें] (http://stackoverflow.com/questions/125449/how-to-protect-cells-in-excel-but- पासवर्ड पर जानकारी के लिए –