مخفی کردن دائمی شیت ها در اکسل
مخفی کردن و نمایش مجدد شیتها در برنامه اکسل کار آسانی است. شما میتوانید یک شیت را مخفی کنید و کاربران هنگامی که برنامه را باز میکنند آن شیت کاری را نخواهند دید. با این حال اگر آنها بخواهند مجدد آن شیت کاری را مشاهده نمایند، به راحتی میتوانند این کار را انجام دهند. اما اگر شما نخواهید که آنها قادر به نمایش مجدد شیتهای کاری باشند چگونه این کار انجام میشود؟
به منظور انجام این کار، نیاز به انجام چند مرحله اضافی دارید تا شیتهای کاری به طور دائم مخفی شوند:
روش رایج پنهان کردن یک شیت کاری در برنامه اکسل
می توانید با استفاده از مراحل زیر یک شیت کاری را در برنامه اکسل پنهان نمایید:
• بر روی تب شیتی که میخواهید آن را پنهان نمایید، کلیک راست کنید.
• سپس بر روی گزینه Hide کلیک کنید.
با این عمل فورا صفحه شیت پنهان میشود و شما در برنامه قادر به دیدن آن نخواهید بود. هنگامی که شما فایل مورد نظر را بسته و مجدد بازکنید و یا برای دیگران ارسال نمایید، این تنظیمات همچنان باقی خواهد ماند.
پس از اینکه با این روش شیتهای کاری پنهان شدند، به راحتی میتوان دوباره آنها نمایش داد. در ادامه مراحل نمایش مجدد یک شیت کاری و خارج کردن آن ازحالت پنهان ارائه شده است:
• بر روی یکی از تبهای موجود راست کلیک کنید.
• بر روی گزینه Unhide کلیک کنید.
• در پنجره Unhide هر کدام از شیتهایی که میخواهید از حالت پنهان خارج کنید را انتخاب کنید.
• بر روی گزینه ok کلیک کنید.
اکنون شیتهای مورد نظر فورا در صفحه کاری شما قابل رویت خواهد شد.
به این نکته توجه کنید که شما هربار تنها یک شیت را میتوانید از حالت پنهان خارج نمایید. به منظور نمایش مجدد شیتهای متعدد، شما باید مراحل بالا را برای هر کدام از شیتها تکرار نمایید. همچنین شما میتوانید از یک کد ماکرو برای نمایش مجدد تمام شیتها در یک حرکت استفاده نمایید.
در حالی که این روش برای اکثر موارد کار میکند، اما اگر شما بخواهید شیتهایی را پنهان کنید که مشتریان و یا همکاران شما نتوانند مجدد آنها را نمایش دهند، این روش کمکی به شما نمیکند. کافی است که هرکدام از آنها بر روی تب یکی از شیتها کلیک راست کند و تمام شیتهایی که مخفی هستند را ببیند و به راحتی هر کدام از شیتهای مخفی را مجددا به نمایش بگذارد.
در ادامه خواهید دید که چگونه میتوان یک شیت را مخفی کرد، به طوری که دیگر نتوان مجددا آن را از حالت مخفی خارج نمود.
پنهان کردن یک شیت کاری به صورت دائمی
در ادامه مراحل پنهان کردن یک شیت کاری توضیح داده خواهد شد، به طوری که دیگر نتوان مجددا آنها را نمایش داد:
• بر روی تب یکی از شیتهای کاری کلیک راست کنید.
• بر روی گزینه View Code کلیک کنید.
• در پنجره VB Editor، در قسمت Project، بر روی شیت کاری که قصد پنهان کردن آن را دارید کلیک کنید.
• با توجه به شیت کاری انتخاب شده، در قسمت نوار ابزار بر روی آیکون Properties کلیک کنید (و یا از کلید میانبر F4 واقع در صفحه کلید استفاده کنید).
• بر روی گزینه “2-xlSheetVeryHidden” کلیک کنید.
• پنجره VB Editor را ببندید.
می بینید که شیت مذکور پنهان شده است.
هنگامی که شما بر روی هر کدام از تبهای موجود کلیک راست کنید، شیت کاری پنهان شده را در لیست شیتهای پنهان شده نخواهید دید تا بتوانید مجددا آن را نمایش دهید. این روش به منظور اینکه یک کاربر نتواند شیت مخفی شده را در لیست شیتها ببنید، مورد استفاده قرار میگیرد. اما این موضوع به این منظور نیست که نتوان مجددا شیت مورد نظر را نمایش داد.
نمایش مجدد شیتهایی که به طور دائمی پنهان (Very Hidden) شده باشند
در این قسمت مراحل نمایش مجدد شیتهایی که به طور دائم پنهان شدهاند، ارائه شده است:
• بر روی تب یکی از شیتهای کاری موجود کلیک راست کنید.
• بر روی گزینه View Code کلیک کنید.
• در پنجره VB Editor بر روی نام شیتی که میخواهید از حالت مخفی خارج نمایید، کلیک کنید (این شیت در زیرمجموعه پروژه شما به عنوان بخشی از برنامه کاری شما وجود دارد).
• در قسمت نوار ابزار بر روی آیکون Properties کلیک کنید (و یا از کلید میانبر F4 واقع در صفحه کلید استفاده کنید).
• در پنجره Properties، مقدار گزینه Visible را از “2-xlSheetVeryHidden” به مقدار “1-xlSheetVisible” تغییر دهید.
• پنجره VB Editor را ببندید.
با این روش شیت کاری مخفی شده مجددا ظاهر میشود و در پنجره کاری شما قابل رویت خواهد یود.
پنهان کردن و نمایش مجدد شیتها با استفاده از کد VBA
اگر شما شیتهای زیادی داشته باشید که نیاز به پنهان کردن و یا نمایش مجدد آنها داشته باشید، این کار زمان زیادی از وقت شما را در بر میگیرد. با استفاده از یک کد ساده VBA، به صورت اتوماتیک این کار برای شما انجام خواهد شد.
پنهان کردن تمام شیتهای کاری با استفاده از کد VBA
یک کد VBA در ذیل ارائه شده است که با استفاده از آن تمام شیتهای کاری به جز شیت جاری و یا فعال، پنهان خواهد شد:
Sub HideAllExceptActiveSheet()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then
ws.Visible = xlSheetHidden
Next ws
End Sub
کد بالا تمام شیتها به جز شیت فعال را پنهان میکند. اگرچه با این کار تمام شیتها پنهان خواهد شد اما به راحتی میتوان آنها را مجددا نمایش داد (به این نکته توجه کنید که ویژگی ws.Visible بر روی xlSheetHidden قرار دارد).
اگر شما میخواهید شیتها را طوری پنهان کنید که مجددا قابل نمایش نباشد، از کد زیر استفاده کنید:
Sub HideAllExcetActiveSheet()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> ActiveSheet.Name Then ws.Visible = xlSheetVeryHidden
Next ws
End Sub
تنها تغییری که در اینجا انجام میشود قرار دادن ویژگی ws.Visible بر روی xlSheetVeryHidden است.
استفاده از کد VBA به منظور نمایش مجدد شیتهای مخفی شده
از کد زیر به منظور نمایش مجدد شیتهای مخفی شده در یک برنامه کاری استفاده میشود.
Sub UnhideAllWoksheets()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
با استفاده از این کد، ما به سادگی ویژگی ws.Visible هر کدام از شیتهای کاری را برابر xlSheetVisible قرار میدهیم.
کدها در کجا قرار میگیرند؟
در ادامه مراحل قرار گرفتن یک کد در VB Editor ارائه شده است.
• بر روی تب Developer کلیک کنید.
• بر روی آیکون Visual Basic کلیک کنید (و یا از کلید میانبر Alt+F11 استفاده کنید).
• در قسمت VB Editor بر روی هر کدام از شیتهای برنامه کاری کلیک راست کنید.
• به قسمت Insert بروید و گزینه Module را انتخاب کنید. این کار یک ماژول جدید در برنامه کاری ایجاد خواهد کرد.
• بر روی آیکون Module دو بار کلیک کنید و کد مربوطه را کپی کنید و در پنجره کد ماژول قرار دهید.
اکنون شما میتوانید برای کد ماکرو یک شکل تخصیص دهید و یا آن را از طریق تی Developer اجرا کنید. به این نکته توجه داشته باشد که نیاز نیست برای هر کد یک ماژول جدید ایجاد کنید. شما میتوانید یک ماژول که حاوی چندین کد ماکرو VBA است را داشته باشد.
درباره پوریا بغدادی
من مباحث BI را در دانشگاه تهران آموخته ام. مجری و مشاور سیستم های هوش تجاری (BI) هستم. آموزش را برای علاقه شخصی پی میگیرم.
نوشته های بیشتر از پوریا بغدادی
سلام وقت بخیر من یه فایل با چندین شیت دارم که میخوام همه شیت ها به جز یک شیت که حاوی کلیدهای اجرای گزارشات می باشد مخفی شوند و با اجرای هر کلید بدون اینکه شیت حاوی گزارش بخواهد فعال شود گزارش رو برای چاپ آماده کنه.
ممنون میشم راهنمایی کنید
سلام
اینکار یا باید بطور دستی انجام شود و یا برای آن ماکرونویسی شود.
سلام یک اکسل دارم که شیت ها مخفی شده و ظاهرا شیت ها جهت unhiden شدن قفل شده است . چه طور میتونم قفل umhiden شدن شیت ها بشکنم تا بتونم شیت ها را ببینم .
سلام. به شماره پشتیبانی در واتساپ در ساعات اداری پیام بفرستید.
سلام . وقت بخیر . خسته نباشید من یک فایل دارم که شامل 39 شیت هست . شیت اول جهت تجمیع اطلاعات 38 شیت بعدی می باشد و هر کدام از 38 شیت مخصوص یک کاربر می باشد و از طریق اشتراک گذاری فایل مذکور در محیط ftp شرکت می خوام که شیت های مربوط به هر کاربر توسط همان کاربر تکمیل شود و در عین حال هر کاربر فقط شیت مربوط به خود را بتواند مشاهده کند و امکان مشاهده شیت های دیگر یا اطلاعات شیت های دیگر را نداشته باشد .؟ آیا امکان پذیر می باشد؟ باتشکر از… ادامه...
برای مشاهده یا عدم مشاهده شیت ها توسط کاربران مختلف باید از ماکرونویسی استفاده کنید اما اگر بخواهید هرکاربر فقط در شیت مخصوص به خود داده وارد کند و دسترسی ویرایش در شیت های دیگر را نداشته باشد می توانید از زبانه Review و گزینه Allow Edit Ranges استفاده کنید و برای هریک محدوده ای بسازید که با رمز عبور یا کاربری خودشان قابل ویرایش باشد. لازم به ذکر است که در این گزینه کاربران شبکه ویندوزی شرکت قابل شناسایی و تعریف دسترسی هستند.
مرسی بسیار جالب بود و کاربردی
سلام و عرض ادب دو روز بود دنبال یه مطلبی میگشتم تو سایت شما پیدا کردم بسیار سپاسگزارم.
سلام ممنونم مطالعه مطالب خوب بود و قابل استفاده