
قفل کردن فایل اکسل
قفل کردن فایل اکسل (Protect) به دلایل مختلف برای ما همیشه مهم بوده. قفل کردن فایل و محافظت کردن (Protection) از اون، علت های مختلفی می تونه داشته باشه. با محافظت از فایل یا همون قفل کردن فایل می تونیم به نتایج زیر برسیم:
- عدم نمایش شیت های فایل برای کسی که پسورد رو نداره
- کاهش دسترسی فرد برای ویرایش فایل
- کاهش دسترسی فرد در جهت کپی اطلاعات (با این روش قفل کردن فرد حتی امکان کپی کردن داده های خام رو نیز نخواهد داشت)
- کاهش دسترسی فرد جهت مشاهده فرمول ها
و …
علاوه بر موارد بالا، کاربرد خیلی مهمی که در قفل کردن فایل اکسل وجود دارد، جلوگیری از تغییر غیر عمد فایل یا به اصطلاح خراب شدن فایل هست. خیلی وقتها من خودم برای اینکه دچار این اشتباه نشم، فایلی که خودم فقط با اون سر و کار دارم رو هم قفل میکنم.
خب حالا بپردازیم به انواع قفل گذاری بر روی فایل اکسل. محافظت از فایل اکسل در ۲ سطح صورت میگیره:
سطح اول: قفل کردن کل فایل
برای این کار از مسیر زیر که در تصویر شماره ۱ هم نشان داده شده، رمزی برای فایل در نظر میگیریم.
File/ Save As/ Tools/ General Options

شکل ۱- قفل کردن فایل اکسل – پسورد گذاشتن روی کل فایل
بعد از زدن General Options پنجره شکل ۲ باز میشه:

شکل ۲- قفل کردن فایل اکسل – پنجره تعیین پسورد برای فایل
در این پنجره دو نوع پسورد میتونیم تعیین کنیم. اولی برای باز کردن فایل، دومی برای تغییر فایل. یعنی کسی که Password to open رو نداشته باشه، اصلا محتویات داخل شیت رو مشاهده نخواهد کرد. کسی که Password to Modify رو نداشته باشه، امکان تغییر روی اصل فایلرو نخواهد داشت. یعنی فایل رو تغییر میده، اما به محض اقدام برای ذخیره کردن، پنجره Save as باز میشه. به این ترتیب اصل فایل بدون تغییر میمونه. چون فرد، Password to Modify رو نداشته.
سطح دوم: قفل کردن سل های موجود در شیت های مختلف
هر سل از یک شیت میتونه تنظیم بشه که قفل باشه یا نه. یعنی اینکه در یک شیت، میتونیم یک سری سل رو قفل کنیم و بقیه رو قفل نکنیم. برای این کار کافیه مراحل زیر رو انجام بدیم:
- هر سلی که میخوایم قفل بشه، باید در Format cell اون سلول و در تب Protect، تیک Lock زده شده باشه.
- از تب Review/ Protect Sheet پنجره مطابق شکل ۳ باز می شود که در آن پسور مورد نظر را تایپ میکنیم. با زدن Ok، و تکرار پسورد، سل هایی که تنظیم کرده ایم و تیک Lock رو دارند، قفل می شن.

شکل ۳- قفل کردن فایل اکسل- پنجره تعیین پسورد برای قفل کردن شیت ها
به این نکته دقت داشته باشید که بصورت پیش فرض، تیک Lock همه سل ها زده شده است. یعنی اگر فقط مرحله دوم رو انجام بدیم، کل سل های یک شیت قفل می شن.
قفل کردن قسمتی از یک شیت
با توجه به توضیحات ارائه شده در بالا، برای اینکه یک محدوده خاص در اکسل رو قفل کنیم کافیه مراحل زیر رو انجام بدیم:
۱- انتخاب کل سلول های شیت و برداشتن تیک Lock از Format Cell
۲- انتخاب محدوده مورد نظر که باید قفل بشه و زدن تیک Lock از Format Cell.
3- Review/ Potect Sheet.
اگه بخوایم فرمول نوشته شده در سل دیده نشه، باید علاوه بر Lock، تیک Hide رو هم در Format cell اون سلول بزنیم تا بعد از قفل کردن، با کلیک بر روی سل حاوی فرمول، فقط نتیجه قابل مشاهده باشد و خود فرمول نمایش داده نشه.
در شکل ۳ مشاهده می کنید که علاوه بر تعین پسورد، سطح دسترسی فرد به فایل رو در حین قفل بودن قابل تعیین هست. بصورت پیش فرض تیک دو گزینه اول زده شده که یعنی فرد میتونه سل هایی که قفل هستن و قفل نیستن رو انتخاب کنه مثلا اگه نخوایم کسی داده ها رو کپی کنه، دسترسی انتخاب سلول رو بر میداریم که سلول انتخاب نشه و در نتیجه قابل کپی هم نباشه.
پس اگه میخوایم فایل در حالت محافظت شده، قابلیت فیلتر شدن رو داشته باشه، تیک گزینه Use AutoFilter رو از همین پنجره می زنیم.
همه این قفل گذاری ها در نهایت قابل هک شدن هستند، اما در صورتی که فایل، هر دو سطح قفل گذاری رو داشته باشه و هر شیت پسورد جداگانه داشته اشه، به مراتب هک کردن آن فایل مشکل تر خواهد بود.





با سلام ببخشید تو سوال قبلی منظورم اینه که سلولهای مورد نیاز برای شمارش و جمع زدن چند سلول در میان می باشد و پشت سرهم نیست من یک قسمت از فرمول رو براتون میفرستم چون فرمولی که من نوشتم طولانی و میخواهم هم با هم جمع بشه و هم تعدادش شمارش بشه یعنی تعداد سلولها از N8 و O8 شروع میشه تا N228 و O228 ولی پشت سرهم نیست .
=IF(O2=”موارد مخالف صفر Shift_A”;COUNTIF(N8;”>0″)+COUNTIF(N13;”>0″)+COUNTIF(N18;”>0″)+COUNTIF(N23;”>0″)+COUNTIF(N28;”>0″)+COUNTIF(N33;”>0″)+COUNTIF(N38;”>0″) و الی آخر این قسمتی از فرموله برای تعداد- تا N228 و برای سلول O هم و همچنین برای جمع و همانطور که می بینید سلولها ۵ تا در میانند – امیدوارم توانسته باشم منظورم رو برسونم فرمولی باشه که بتوان همه COUNTIF یا SUMIFها رو ادغام کرد قبلا از جوابگویی شما ممنون و سپاسگزارم.
یکبار دیگه تابع countifs رو مطالعه کنید
نیازی نیست سلول ها رو جدا کنید
کافیه شیفت و بصورت شرط بدید
کل ستون N میشه رنج و دو تا شرط دارید، شیفت و بزرگتر از صفر
https://excelpedia.net/countifs-function/
با سلام مابین سلولها جدول طراحی شده و عناوین و اعداد و لیستهای کشویی است نمیشه چه باید کرد؟ میخوام هم شمرده شه و هم جمع زده شه تو قسمت افقی فرم که مثلا همه دقیقه است یعنی از N8:ABG8 همه دقیقه اند و سلولها مابین آنها هیچ چیز دیگری طراحی نشده براحتی فرمول جواب میده ولی تو بخش عموی همانطور که در اول گفتم بین آن جدول و چیزهای دیگه است که اگر هم میشه من راهشو بلد نیستم لطفا بیشتر راهنمایی کنید. ممنون
درود
سوالتون اصلا مشخص نیست
با سلام اول تشکر میکنم از توجه و همکاری و همراهی و راهنمایی شما
من دو سطر دارم از N6 تا ABG6 که در هر سلول به ترتیب نوشته شده است SHIF_A و SHIFT_B یعنی در سلول N6 نوشته شده SHIFT_A و در سلول O6 نوشته SHIFT_B و به همین ترتیب تا سلول ABG6 و در زیر آن در سلول N8 تا ABG8 تایمهای کارکرد نوشته شده است اگر بخواهم تعداد تایم مربوط به هر شیفت را با تابع COUNTIF بشمارم باید برای هر شیفت ۳۶۱فرمول بنویسم میشه فرمول خلاصه تری نوشت که تعداد تایم بزرگتر از صفر را برای هر شیفت بده و تایمهای هر کدام از شیفتها رو جمع بزنه. ممنون
درود
متوجه نشدم چرا باید ۳۶۵ تابع بنویسید!
شما دو تا شرط دارید، شرط بزرگتر از صفر و شرط شیفت، درسته؟
اگر اینطو رهست تابع Countifs استفاده کنید و هر دو شرط رو اعمال کنید
سلام من یه فایل طراحی کردم میخوام پس از اینکه اطلاعات را وارد کردم و دخیره کردم به صورت اتومات اطلاعات قفل بشه و قابل ویراش نباشه
لطفا راهنمایی کنید
با سلام و عرض ادب
از بابت پاسخ ها و راهنمایی های مفیدتون و آموزش هایی که در این سایت ارائه می دهید کمال سپاسگزاری را دارم. من یک جدولی دارم که از طریق راهنمایی شما نسبت به رمزگذاری ستون هایی که لازم بود اقدام نمودم لیکن با توجه به اینکه ممکن است ردیف های جدولم توسط کاربران دیگر اضافه شود لذا می خواستم بدانم چگونه می توانم کاری کنم که اگر کاربر خواست ردیفی اضافه کند بدون اینکه بخواهد رمز را وارد کند فرمول های ردیف های بالا برای ردیف جدید ایجاد شده توسط کاربر در حالت قفل اجرا شود.
پیشاپیش از جواب شما سپاسگزاری می نمایم
درود
در حالت قفل امکان اضافه کردن سطر وجود نداره مگر اینکه در حین قفل کردن امکان insert row رو فعال کرده باشید
با سلام و سپاس از پاسخ شما، من طبق راهنمایی شما در هنگام قفل کردن امکان insert row را فعال کردم اما وقتی که ردیف جدید ایجاد می شود فرمول های ردیف های قبل در در ردیف جدید اعمال نمی شود. چگونه می توانم کاری کنم که فرمول های ردیف قبل در ردیف جدید و در هنگامی که قفل هستند اعمال گردند؟
سلام
من برای اکسلی که طراحی کردم رمز گذاشتم ، بعد تو چندتا از sheet از کد نویسی VBA استفاده کردم اما وقتی کلیک می کنم که اجرا بشه بهم میگه اول باید رمز اون sheet بززنی تا ماکرو اجرا بشه ولی من می خوام بدون زدن رمز ماکرو انجام بشه ممنون می شم راهنمایی کنید
درود
باید ابتدای کد ماکرو، unprotect کنید
ماکرو ران بشه و بعدمجدد protect
با سلام خدمت مهندسین عزیز
بنده میخواستم روی شیت های مختلف رمز های گوناگون بگذارم به نحوی که اطلاعت شیت ها پس از وارد کردن رمز قابل رویت باشد
این امکان در اکسل وجود دارد؟
لطفا راهنمایی بفرمایید
درود بر شما
هر شیت میتونه پسورد جداگانه داشته باشه
تا زمان یهم که hide نشده باشه، داده ها قابل رویت هستن
بله این میدونم
امکانش هست که دسترسی به اطلاعت شیت پس از واردکردن پسورد باشه؟
میتونید password to open بذارید که بعد از وارد کردن پسورد، داده ها نمایش داده میشن
با سلام و تشکر از همراهی شما
یک کد در VB نوشتم میخوام با هر بار فشردن کلید “شماره جدید” یک عدد به مقدار قبلی سلول اضافه کنه ولی عدد ۱ رو میذاره تو سلول-ببخشید من در VB مبتدی هستم شاید هم همین کد هم اصول و قواعد کدنویسی حرفه ای رو نداشته باشه ولی با کمک اطلاعات کسب شده از راهنمایانی چون شما به سوی بهتر شدن گام بر میداریم میشه کد رو برام اصلاح کنید و یا راهنمایی کنید ممنونم
Private Sub CommandButton1_Click()
Worksheets(“Ghowlnameh”).Cells(8, 12).Select
Range(“L8”).Value = “=+1”
End Sub
سلام
از کد زیر استفاده کنید:
Private Sub CommandButton1_Click() Worksheets("Ghowlnameh").Cells(8, 12).Select Range("L8").Value = Range("L8").Value + 1 End Subبا سلام و تشکر مجدد از توجه شما
من فایبلهای اکسلم رو وقتی از یک کامپیوتر دیگه انتقال میدم به کامپیوتر دیگه فرمولها و از همه مهمتر لیستهای کشویی بخصوص اونایی که اطلاعاتش توی شیت دیگه است همه بهم میخوره مثلا قبل از فرمولا نام کامپیوتر و محل ذخیره اون تو فرمولها میاد و باز باید یکی یکی حذفشون کنم راهی نیست که بشه یه جوری فرمولها رو فیکس کرد قبلا از همکاری شما کمال سپاس و تشکر را دارم
درود بر شما
مقاله زیر رو مطالعه کنید
https://excelpedia.net/excel-external-link/
وقتی به فایل خارج از ورک بوک لینک داشته باشید، باید فقط ادیت کنید یا اینکه با فرمول نویسی حرفه ای، مدام مسیر جدید رو فراخوانی کنید
با سلام و تشکر از همراهی و همکاری شما دوستان گرامی که با ترویج یاد داشته های خویش زکات علم را که همانا نشر آن و یاد دادن به دیگران است، بدرستی از گردن خود برداشته و با ترویج و آموزش؛ دیگر زکاتی بر گردن شما نبوده و از همه مهمتر شما معلم و مصداق فرمایش حضرت علی هستید که فرمود هرکس کلمه ای به من بیاموزد تا ابد مرا بنده خویش نموده است به خود ببالید که معلمی شغل انبیاست.
من به سهم خود از شما سپاسگزارم
خواستم بدانم که:
۱. اگر بخواهیم اطلاعات یک شیت با همان فرمتها و فرمولهای تعریف شده در شیت دیگر عینا کپی شود و این شیت همیشه با اندک تغییر شیت ۱ همزمان تغییرات ثبت شود چون شیت ۱ همیشه اطلاعات جدید به آن اضافه می شود؛ چه باید کرد؟
۲. یک فایل اکسل رو طراحی کردم و میخواهم طوری بشه که امنیت قفلش بالا باشه و قفلش به هر حالی نشکنه و اینکه اگر بشه کدی یا قفلی باشه که از کپی کردن فایل بر روی سیستم دیگه جلوگیری کنه و یا برای انتقال و کپی این فایل پسورد بخواد راه حلش چیه؟
ممنون از راهنمایی هایتان!!!!!
سلام و تشکر بابت لطفتون
پاسخ ها:
۱- اگر قصد دارید اطلاعاتی که در شیت ۱ ثبت می شود در شیت ۲ به صورت دیتابیس ذخیره شود (در انتهای جدول) باید از VBA استفاده کنید. اگر قصد دارید اطلاعات شیت ۱ عینا در شیت ۲ نمایش داده شود میتونید محدوده مورد نظر در شیت ۱ رو کپی و Paste Link رو از گزینه Paste Special انتخاب کنید که لینک برقرار شود. نهایتا همین کار رو مجددا انجام بدید اما به جای انتخاب گزینه Paste Link گزینه Format رو انتخاب کنید تا فرمت شیت ۲ هم مثل شیت ۱ شود.
۲- هیچ وقت امکان تضمین امنیت ۱۰۰% وجود نداره، تنها راه اینه که از رمزهای بسیار پیچیده استفاده کنید که امکان پیدا کردن آنها سخت شود، نهایتا اینکه با استفاده از VBA امکان تعریف لایه های امنیتی اختصاصی وجود داره که کاملا به مهارت نویسنده بستگی داره. اینکه جلوی کپی شدن فایل رو بخواید بگیرید یک مسئله ویندوزی هست و ارتباطی به اکسل نداره.
سلام و خسته نباشید.
من فایلی دارم که حاوی تعداد زیادی pivot و اسلایسر هست. مشکلی که دارم اینه که یکی از اسلایسرها که از باید تاریخ میلادی رو نشون بده ، فقط ماه میلادی رو نشون میده و اون هم به صورت عربی !!! خیلی عجیبه ولی چون تو همین فایل اسلایسرهای دیگه هست که تاریخ به میلادی و درست نشون میدن. از طریق کنترل پنل خیلی تغییرات دادم ولی به نتیجه نرسیدم. لطفا راهنمایی کنید.
متشکرم