تمكين / تعطيل اكسل 2007 منسدل
-
22-07-2019 - |
سؤال
وأحتاج لمنع المستخدم من اختيار قيمة في بعض إكسل تحكم 2007 منسدل إدراجها عن طريق القائمة المطور من قبل الشرط. الآن تمكنت فقط لإظهار / إخفاء عنصر التحكم.
ActiveWorkbook.Worksheets("summary").Shapes("months").Visible = year <> ""
هل من الممكن لتمكين / تعطيل أنه بدلا من ذلك؟
المحلول
وهذا لا يؤدي إلى سيطرة "نموذجية" تمكين / تعطيل التي ستحصل عليه لو كنت تستخدم منسدل اكتف بدلا من منسدل أشكال، ولكنه منع المستخدم من الوصول إليه:
Sub ChangeState()
Dim shp As Shape
Set shp = ActiveWorkbook.Worksheets("summary").Shapes("months")
shp.ControlFormat.Enabled = Not shp.ControlFormat.Enabled
End Sub
نصائح أخرى
ولقد كانت لدينا نفس المشاكل مع MS الوصول.
والدولة (تمكين / تعطيل) مختلفة لعرض (لون الخلفية = الرمادي)
وكانت الطريقة اعتدت للالتفاف على هذا أن تفعل كل من:
Dim enabled As Boolean
enabled = year <> ""
ActiveWorkbook.Worksheets("Sheet1").Shapes(1).Enabled = enabled
If enabled Then
ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbGrey
Else
ActiveWorkbook.Worksheets("Sheet1").Shapes("months").BackColor = rgbWheat
End If
ولقد وجدت ما يمكن تعطيل التحكم منسدل من قبل
ActiveWorkbook.Worksheets("summary").DropDowns("months").Enabled = year <> ""
ولكن للأسف لن رمادي لإظهار بصريا حالته.
لا تنتمي إلى StackOverflow