قفل کردن شیت اکسل با کد VBA
- آخرین بروزرسانی: 31 اردیبهشت 1402
قفل کردن شیت اکسل با کد VBA برای قفل کردن شیت با استفاده از VBA در اکسل، میتوانید کد زیر را استفاده کنید:
در این کد، تابع “LockSheet” اجرا میشود و شیت فعلی قفل میشود. پسورد “password” به عنوان گذرواژه برای باز کردن شیت استفاده میشود. با اضافه کردن آرگومان “UserInterfaceOnly:=True”، فقط رابط کاربری اجازه دسترسی به شیت را دارد ولی کد VBA هیچ تغییری در شیت اعمال نمیکند. این آرگومان برای اجرای کد VBA در زمان اجرای برنامه اکسل مفید است.
قفل کردن شیت اکسل با کد VBA
برای استفاده از این کد، مراحل زیر را دنبال کنید:
- در اکسل، فایلی را باز کنید که شیتی را که میخواهید قفل کنید، شامل ماکروهای VBA دارد.
- از منوی “ماکرو” (Macro) در منوی “ابزارهای توسعه” (Developer Tools) یا با فشردن کلید Alt + F8، ماکروی “LockSheet” را اجرا کنید.
- اکنون شیت شما به صورت قفل شده در دسترس قرار میگیرد و تنها کاربرانی که دارای مجوز دسترسی به آن هستند، میتوانند آن را ویرایش کنند.
آموزش های پیشنهادی برای شما
قبل از هر کاری آموزش زیر را مشاهده فرمایید👇
نحوه ذخیره فایل اکسل حاوی ماکرو
نحوه ورود به محیط vba اکسل با 3 روش
آموزش قفل کردن شیت اکسل بدون کد نویسی vba
پیشنهاد آکادمی روح الله برای شما
1 2 3 4 |
Sub LockSheet() ' https://academyruhollah.com/ ActiveSheet.Protect Password:="password", UserInterfaceOnly:=True End Sub |
sg
سلام این برنامه در فتیلی که دارم و دارای چندین شیت می باشد اجرا کردم ولی فقط در یک شین جواب می دهد و در شیت دیگر اجرا نمی شود لزفا رااهنمایی بفرمائید تشکر الماسی
سلام ارادت خدمت شما دوست عزیز
شما این ماکروی که است را توی هر شیت اجرا کنید شیت فعال بصورت خودکار قفل میشه اگر منظر تون چیزی دیگه است کامل توضیح بدهید بند در خدمت تون هستم
راهنمایی می کنم
شاد پیروز باشید
سلام . بنده یک سوال داشتم . وقتی شیت رو قفل میکنیم. (protect sheet ) در جدول (Table) نمیشه ردیف و ستون حذف و اضافه کرد. آیا راهی هست؟
سلام ارادت خدمت شما دوست عزیز
در حالت پیشفرض، وقتی یک برگه را در اکسل قفل میکنید و از گزینه “Protect Sheet” استفاده میکنید، قابلیت حذف و اضافه کردن ردیفها و ستونها در جدولها غیرفعال میشود. این روش یک راه ساده برای جلوگیری از تغییر ساختار جدول در هنگام قفل شدن برگه است.
اما، اگر شما نیاز دارید تا روشی داشته باشید که ردیفها و ستونها را همچنان بتوانید در جدول قفل شده اضافه یا حذف کنید، باید از راهکار دیگری استفاده کنید.
یک روش برای این کار استفاده از فرمولهای داینامیک است. به این صورت که ردیفها و ستونها را به صورت دستی قفل نمیکنید، اما از فرمولها استفاده میکنید تا بررسی کنید که آیا یک ردیف یا ستون خاص باید قفل شود یا خیر. با استفاده از فرمولهای مناسب، میتوانید بر اساس شرایط خاصی که دارید، ردیفها و ستونها را قفل کنید یا آنها را باز کنید.
برای مثال، میتوانید از تابع IF در اکسل استفاده کنید تا در صورت برقراری یک شرط، ردیف یا ستون را قفل کنید. به صورت سادهتر، میتوانید از تابع VBA (Visual Basic for Applications) استفاده کنید تا یک ماکرو ایجاد کنید که در آن شرایط و قوانین خاصی برای قفل و باز کردن ردیفها و ستونها تعیین کنید.
لطفا توجه داشته باشید که استفاده از فرمولها و ماکروها به نیازها و محدودیتهای خاص شما بستگی دارد و ممکن است نیاز به مهارت
های برنامهنویسی و پیشرفتهتر در اکسل داشته باشد.
موفق باشید