Mander یک کاربرگ دارد که می خواهد رنگ پس زمینه آن را تغییر دهد. پس از تغییر، او می خواهد که رنگ توسط هر کس دیگری "غیرقابل تغییر" باشد. مندر میداند که میتواند از محافظ کاربرگ استفاده کند، اما این امر باعث میشود که مردم نتوانند واقعاً از کاربرگ استفاده کنند. او نمی خواهد استفاده از کاربرگ را متوقف کند. او فقط نمی خواهد پس زمینه پس از تنظیم آن تغییر کند.
چند راه وجود دارد که می توانید برای رسیدن به آنچه می خواهید دنبال کنید. اولین مورد این است که نحوه استفاده از محافظ کاربرگ خود را بررسی کنید. رنگ پسزمینه به عنوان فرمت یک سلول در نظر گرفته میشود، بنابراین تنها کاری که باید انجام دهید این است که مطمئن شوید از کاربرگ محافظت میکنید و اجازه میدهید همه تغییرات به جز قالببندی انجام شود. این مراحل را دنبال کنید:

شکل 1. تب Protection از کادر محاوره ای Format Cells.

شکل 2. کادر محاوره ای Protect Sheet.
- سلول هایی را انتخاب کنید که می خواهید کاربر محتوای آنها را تغییر دهد. (در صورت تمایل می توانید تمام سلول های کاربرگ را انتخاب کنید.)
- تب Home نوار را نمایش دهید.
- روی Format در گروه Cells کلیک کنید و سپس Format Cells را انتخاب کنید. اکسل کادر محاوره ای Format Cells را نمایش می دهد.
- مطمئن شوید که تب Protection نمایش داده شده است. (شکل 1 را ببینید.)
- چک باکس قفل شده را پاک کنید.
- روی OK کلیک کنید تا کادر محاوره ای بسته شود.
- در حالی که برگه صفحه اصلی نوار هنوز نمایش داده می شود، روی Format در گروه Cells کلیک کنید و سپس Protect Sheet را انتخاب کنید. اکسل کادر محاوره ای Protect Sheet را نمایش می دهد. (شکل 2 را ببینید.)
- تمام چک باکس ها به جز موارد مربوط به قالب بندی (قالب بندی سلول ها، قالب بندی ستون ها و فرمت ردیف ها) را انتخاب کنید.
- شما نیازی به وارد کردن رمز عبور ندارید مگر اینکه بخواهید. فقط روی OK کلیک کنید.
اکنون افراد می توانند هر تغییری را در سلول های انتخاب شده در مرحله 1 ایجاد کنند، به استثنای تغییر هر قالب. این بدان معنی است که رنگ پس زمینه شما محافظت می شود.
این روش مشکلی دارد—شاید بخواهید به کاربر اجازه دهید قالب بندی سلول های دیگر را تغییر دهد، مانند نحوه نمایش اعداد، تاریخ ها یا زمان ها. از آنجایی که از قالب بندی برگه محافظت کرده اید، این موارد را نمی توان تغییر داد.
برای دور زدن این موضوع، تنها کاری که می توانید انجام دهید استفاده از یک رویکرد کلان است. یک راه ساده ایجاد یک کنترل کننده رویداد است که هر زمان که کاربرگ فعال می شود، رنگ پس زمینه را تغییر می دهد. به این ترتیب، اگر کسی رنگ پسزمینه را تغییر دهد، دفعه بعد که کاربرگ فعال میشود، این تغییرات بهطور مؤثری حذف میشوند. در اینجا مثالی وجود دارد که رنگ پس زمینه را به رنگ فیروزه ای تنظیم می کند:
Private Sub Worksheet_Activate()
With Cells.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = RGB(0, 192, 192)
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
این ماکرو باید به برگه کد برای هر کاربرگ که می خواهید از آن استفاده کنید اضافه شود. این کنترل کننده رویداد خاص پسزمینه همه سلولها را تغییر میدهد. اگر میخواهید فقط تعداد مشخصی از سلولها را تحت تأثیر قرار دهید، میتوانید ساختار (ساختار With) را طوری تغییر دهید که فقط سلولهای خاصی اصلاح شوند.