ثبت نام دوره آنلاین VBA به زبان ساده
سبد خرید
0

سبد خرید شما خالی است.

جستجو
Generic filters

نمایش شیت های پنهان شده در اکسل

نمایش شیت
۴.۱/۵ - (۸ امتیاز)

نمایش شیت های پنهان شده (unhide) در اکسل

فرض کنید که یک شیت رو باز میکنیم و بعد از بررسی، متوجه میشیم که بعضی از فرمول ها به یک شیت دیگه ارجاع داده شدن. در واقع دارن از یک شیت دیگه تغذیه میشن. ولی وقتی به تب شیت ها نگاه میکنیم، اثری از شیت مرجع نیست! اگر بخوایم یک شیت با همون اسم بسازیم، اکسل به ما پیام میده که شیتی با همین نام از قبل ساخته شده. این ها همه به این معنی است که شیت مورد نظر ما وجود داره منتها مخفی (hide) شده. چجوری میتونیم شیت های مخفی شده رو ببینیم؟ با چه روشی نمایش شیت های پنهان ممکن هست؟ خب مشخصا باید اونها رو آشکار (unhide) کنیم. این کار میتونه به صورت دستی با دستور unhide در اکسل یا بطور خودکار با VBA انجام بشه.

چگونگی آشکار کردن شیت ها در اکسل

اگر بخوایم فقط یک یا دو شیت مخفی شده رو ببینیم،‌ طبق مراحل زیر پیش میریم (قبلا جزئیات بیشتری در مورد کار با Sheet Tab در مقاله کار با Sheet Tabs در اکسل گفتیم) :

  1. در محیط ورک‌بوک روی یکی از تب های شیت کلیک راست میکنیم و گزینه Unhide رو انتخاب میکنیم.
  2. در پنجره باز شده شیت هایی که میخوایم نمایش داده بشن انتخاب میکنیم و روی OK کلیک میکنیم.

نمایش شیت های پنهان شده

شکل ۱ – نمایش شیت های پنهان شده

راه دیگه برای این کار استفاده از گزینه Unhide در قسمت نوار ابزار هست.

  • در اکسل ۲۰۰۳ و قبل تر از اون، در منو Format، و از قسمت Sheet روی گزینه Unhide کلیک میکنیم.
  • در نسخه های ۲۰۱۶، ۲۰۱۳، ۲۰۱۰ و ۲۰۰۷ اکسل، از تب Home به گروه Cells رفته و روی گزینه Format‌ کلیک میکنیم. از منو باز شده، در قسمت Visibility روی گزینه Hide & Unhide اشاره میکنیم و از منو باز شده گزینه Unhide Sheets رو انتخاب میکنیم.

نمایش شیت های پنهان شده از تب Home

شکل ۲- نمایش شیت های پنهان شده از تب Home

نکته:
گزینه Unhide اکسل فقط اجازه آشکار کردن یک شیت در آن واحد رو به ما میده. برای آشکار کردن چندین شیت باید کارهای بالا رو برای هرکدوم تکرار کنیم. برای اینکه کار تکراری انجام ندیم میتونیم از ماکروهای زیر برای این کار استفاده کنیم.

 

چگونگی آشکار کردن شیت ها با استفاده از VBA در اکسل

در مواقعی ما میخوایم چندین شیت رو آشکار کنیم، ولی انجام این کار بصورت دستی برای هر کدوم بصورت جداگانه، ممکنه کمی زمان بر باشه. خوشبختانه میتونیم این کار رو با یکی از ماکروهای زیر بصورت خودکار انجام بدیم.

چگونگی آشکار سازی تمام شیت ها در اکسل

این ماکرو تمام شیت ها رو در یک ورک‌بوک، بدون هیچ پیام اضافه ای، آشکار میکنه.

نمایش دادن تمام شیت های مخفی و تعدادشون

این ماکرو هم مثل قبلی تمام شیت ها رو آشکار میکنه با این تفاوت که یک پیام حاوی تعداد شیت های آشکار شده به ما نشون میده.

نمایش شیت های پنهان شده با استفاده از VBA

شکل ۳- نمایش شیت های پنهان شده با استفاده از VBA

آشکار کردن چندین شیت بصورت انتخابی

اگر بخوایم که همه شیت ها آشکار نشن و فقط چند شیت رو از بینشون انتخاب کنیم، ماکرو زیر مورد استفاده قرار میگیره. با اجرای این ماکرو، پیامی ظاهر میشه و میپرسه که مثلا شیت با نامه Sales_Report نمایش داده بشه یا نه؟. با زدن Yes نمایش داده میشه و با زدن No. نمایش داده نمیشه. همینطور این پیام برای همه شیت های پنهان شده نمایش داده میشه.

نمایش برخی شیت های پنهان شده

شکل ۴- نمایش برخی شیت های پنهان شده

آشکار کردن شیت هایی با یک کلمه خاص در اسم اونها

بعضی اوقات ممکنه بخوایم شیت هایی با اسم هایی خاص نمایش داده بشن. در این موارد باید یک IF به ماکرو، برای چک کردن اسم شیت ها اضافه کنیم.

در این مثال، ما شیت هایی که در اسمشون کلمه report باشه رو آشکار میکنیم. بنابراین ماکرو، شیت هایی مثل report, report 1, July report رو نشون میده.

در موارد دیگه، اسم مورد نظرمون رو بجای کلمه “report” وارد میکنیم.

چگونگی استفاده از ماکرو ها برای آشکار کردن شیت ها در اکسل

برای استفاده از ماکرو ها در شیت خودمون، میتونیم کد اونها رو کپی/پیست کنیم توی Visual Basic Editor یا ورک‌بوک های حاوی ماکرو رو دانلود و اجرا کنیم.

چگونگی وارد کردن ماکرو ها در ورک‌بوک

برای وارد کردن ماکرو ها طبق مراحل زیر پیش میریم:

  1. ورک‌بوک حاوی شیت های مخفی شده رو باز میکنیم.
  2. از کلید های ترکیبی Alt + F11 برای باز کردن Visual Basic Editor استفاده میکنیم.
  3. در سمت چپ، روی گزینه This Workbook کلیک راست میکنیم و از منو Insert > Module رو انتخاب میکنیم.
  4. کد رو در پنجره Module پیست میکنیم.
  5. F5 رو میزنیم تا ماکرو اجرا بشه.

دانلود ورک‌بوک حاوی ماکرو

همچنین میتونیم نمونه ورک‌بوک حاوی تمام ماکرو هایی که دربارشون صحبت کردیم رو دانلود کنیم.

برای اجرای ماکرو ها در اکسل طبق مراحل زیر پیش میریم:

  1. ورک‌بوک دانلود شده رو باز کرده و ماکرو هارو فعال میکنیم.
  2. ورک‌بوک خودمون که میخوایم شیت هاش رو آشکار کنیم رو باز میکنیم.
  3. در ورک‌بوک خودمون، کلید های ترکیبی Alt + F8 رو میزنیم، ماکرو مورد نظر رو انتخاب کرده و روی Run کلیک میکنیم.

برای مثال، برای آشکار کردن تمام شیت ها و نشون دادن تعداد اونها، ماکرو زیر رو اجرا میکنیم:

اجرای ماکروی مورد نظر برای نمایش شیت های پنهان شده

شکل ۵- اجرای ماکروی مورد نظر برای نمایش شیت های پنهان شده

چگونگی نمایش شیت های مخفی شده با ساختن یک custom view در اکسل

غیر از Unhide کردن یک به یک شیت ها و اجرای ماکروه ای مختلف، میشه از ابزار Custom View برای نمایش شیت های پنهان شده استفاده کرد. اگر با این ابزار اکسل آشنا نیستید، مقاله مربوط به نماها رو مطالعه کنید. در واقع میتونیم این ابزار رو به عنوان یک عکس فوری از تنظیمات ورک‌بوک خودمون در نظر بگیریم که هر لحظه میتونیم اون رو با یک کلیک موس فعال کنیم. نکته مهم این که بهتره ابتدای کار و زمانی که هنوز هیچ شیتی مخفی نشده، از این روش استفاده بشه.

بنابراین میخوایم طبق مراحل زیر یک custom view با نام Show All Sheets بسازیم:

  1. مطمئن میشیم که همه شیت ها در ورک‌بوک ما قابل مشاهده هستن.
  2. از تب View و گروه Workbook Views، گزینه Custom Views رو انتخاب میکنیم.

نمایش شیت های پنهان شده از طریق Custom View

شکل ۶- نمایش شیت های پنهان شده از طریق Custom View

  1. در پنجره باز شده، روی Add‌ کلیک میکنیم.

ذخیره نمای مورد نظر

شکل ۷- ذخیره نمای مورد نظر

  1. در پنجره باز شده به اسم Add ، اسم نمای مورد نظر رو وارد میکنیم و روی OK کلیک میکنیم.

ذخیره نماهای مختلف با استفاده از Custom view

شکل ۸- ذخیره نماهای مختلف با استفاده از Custom view

حالا میتونیم هر تعداد شیت که بخوایم مخفی کنیم. هروقت نیاز بود تا همه شیت های پنهان شده نمایش داده بشن، میتونیم روی custom view کلیک کنیم، Show All Sheets رو انتخاب و روی Show کلیک کنیم.

نمایش شیت های پنهان شده با استفاده از Custom View

شکل ۹- نمایش شیت های پنهان شده با استفاده از Custom View

چگونه چک کنیم که یک ورک‌بوک حاوی شیت مخفی است؟

سریع ترین راه برای این کار اینه که روی تب شیت ها کلیک راست کرده و ببینیم آیا دستور Unhide فعاله یا نه. اگر فعال بود، روش کلیک میکنیم تا ببینیم کدوم شیت ها مخفی شدن. اگر غیرفعال بود، ورک‌بوک ما هیچ شیت مخفی شده ای نداره.

غیر فعال بودن گزینه Unhide

شکل ۱۰ – غیر فعال بودن گزینه Unhide

مشکلات و راه حل های نمایش شیت های پنهان در اکسل

  1. ورک‌بوک محافظت شده است.

اگر ساختار ورک‌بوک ما محافظت (قفل) شده باشه امکان مخفی یا آشکار کردن شیت ها وجود نداره. برای چک کردن این موضوع به تب Review رفته و از گروه Changes، به دکمه Protected Workbook نگاهی میندازیم. اگر دکمه به رنگ سبز هایلایت شده بود، ورک‌بوک محافظت شده است. برای برگردوندن ورک‌بوک به حالت عادی، روی دکمه Protected Workbook‌ کلیک کرده و در صورت نیاز کلمه عبور رو وارد میکنیم تا ورک‌بوک ما به حالت عادی برگرده.

  1. شیت های خیلی مخفی شدن.

اگر شیت های ما توسط کد VBA مخفی شده باشن، تبدیل به شیت های veryhidden میشن که با دستور Unhide آشکار نمیشن. برای این کار باید اونهارو از طریق Visual Basic Editor، از نوع xlSheetVeryHidden به xlSheetVisible تبدیل کرد.

دانلود فایل این آموزش

برای دانلود فایل این آموزش روی دکمه زیر کلیک کنید.

[esd id=”3″ link=”https://dl.dropboxusercontent.com/s/o19eepwhrp8lkid/Excelpedia-Unhide-Macroes.rar?dl=0″ subject=”لینک دانلود فایل نمایش شیت ها” btntext=”دریافت فایل این آموزش” type=”mail_type” theme=”theme_d” mailer_group=”8466450″ position=”right” icon=”fa fa-download” description=”برای دانلود فایل کلیک کنید”]

کلیدواژه : مقدماتی

من سامان چراغی هستم. دانش آموخته مقطع فوق لیسانس دانشگاه تربیت مدرس در رشته مهندسی صنایع. از سال 1388 اکسل و برنامه نویسی VBA رو به صورت حرفه ای شروع کردم.

دیدگاه کاربران
  • افسانه ۳ خرداد ۱۳۹۹ / ۲:۰۸ ب٫ظ

    سلام روزتون بخیر
    من موقعی که فایل اکسل جدید از ایمیل دریافت میکنم اگر موقعه باز کردن اکسل جدید در سیستم اکسل های دیگه ای باز باشه کلیه اکسلهام هنگ می کنه و باید همون لحظه همه رو ببندم احتمالا بدلیل متفاوت بودن ورژن اکسلها باشه این دفه که این کار رو کردم کلیه شیتهای اکسل روی سیستمم غیب شدند البته کلیه موارد روی شیتها قبلا سیو شده بودند در حد یک عدد جدید سیو نشده بود و نتونستم نوار طول بار و شیت های قبلی روبیارم چیکار کنم که این شیتها برگردند به هیچ وجه شیتها پاک نشدند فقط نوار طول بار شیتها نیست نه از افقی نه از عمودی لطفا راهنماییم کنید ممنون میشم چون همه فایلهای حساب و کتابه

    • حسنا خاکزاد ۷ خرداد ۱۳۹۹ / ۹:۵۶ ب٫ظ

      درود
      اگر منظورتون نمایش sheet tab هست از مسیر زیر برید و تیک گزینه show sheet tab رو بزنید
      Excel Options/ advanced/ Display Option for this workbook

  • طهماسبی ۷ اردیبهشت ۱۳۹۹ / ۴:۵۶ ب٫ظ

    با سلام
    می خوام توسط کمبوباکس به شیت مورد انتخاب حرکت کنم و سایر شیتها مخفی باشند
    دستور vba اون چطور میشه ؟ لطفا راهنمایی بفرمایید

    • سامان چراغی ۱۹ خرداد ۱۳۹۹ / ۹:۰۵ ق٫ظ

      سلام
      برای انجام این کار روش های مختلفی وجود داره که بستگی به نوع کمبوباکس و اینکه این روی یوزرفرم هست یا درون اکسل داره، یک روشش با فرض اینکه از کمبوباکس Form Control استفاده شده باشه به صورت زیر است:
      اول شیت های مورد نظر رو به ترتیب قرارگیری در فایلتون وارد کمبوباکس کنید.
      در رویداد Change شیتی که کمبوباکس اونجا قرار داره باید دستور زیر رو بنویسید (فرض میکینم که آدرس سلول Cell Link کمبوباکس A1 هست):

  • hamed rast ۳۰ فروردین ۱۳۹۹ / ۱:۲۲ ب٫ظ

    عالی عالی عالی
    بسیار متشکر

  • ماریا ۲۰ اسفند ۱۳۹۸ / ۷:۲۱ ب٫ظ

    سلام. واقعا دستتون درد نکنه. یه شیت مهم رو گم کرده بودم پیداش کردم. خدا خیرتون بده. موفق باشین

  • محمد ذاکری ۱۵ اسفند ۱۳۹۸ / ۷:۲۵ ب٫ظ

    بنام خدا
    سلام
    راهنمایی های شما بسیار عالی بود، با اینکه آنلاین با پشتیبانی مایکروسافت مکاتبه کردم. نتوانست مشکل مرا حل کند. ولی با اجرای راهنمایی های شما مشکل من حل شد.
    فایل را بمنظور ترمیم برای پشتیبان ارسال کردم. در یکی از شیت ها تعداد زیادی پسورد دارم. آیا نیاز هست آنها را تغییر دهم؟

  • امیر ۴ اردیبهشت ۱۳۹۸ / ۷:۴۴ ق٫ظ

    با سلام و خسته نباشید
    مرسی از راهنمایی های بسیار مفیدتون
    میخوام یک جدول در اکسل با زدن یک چک باکس نمایش داده بشه و با نزدنش مخفی بشه
    مثلا چند تا چک باکس دااریم با چند تا جدول که در صورت تیک خوردن هر چک باکس جدول مورد نظر آن نمایش داده بشه
    آیا این امکان جود داره؟و اگه داره با چه دستوری؟

    • سامان چراغی ۴ اردیبهشت ۱۳۹۸ / ۱۰:۰۵ ق٫ظ

      سلام
      میتونید با فرمول نویسی در Conditional Formatting این کار رو انجام بدید.
      به این صورت که فرمت سلول های هر جدول رو مشروط به مقداری که Cell Link هر چک باکس داره بشه.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان