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

امروز با مطلب جدید دیگری در زمینه کار با ورک شیت های اکسل و نحوه فراخوانی و انتخاب این شیت های کاری در اکسل با استفاده از برنامه نویسی VBA  در خدمت شما هستیم .

همانطور که می دانید نرم افزار اکسل متشکل از صفحات کاری می باشد که در اصطلاح به آنها Worksheet  یا شیت های کاری می گوییم .

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

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

حال این نام می تواند نامی باشد که بصورت پیشفرض از سوی اکسل به هر صفحه کاری می دهد یا اینکه نامی باشد که از طرف شما برای شیت های مورد نظر تعریف می شود .

اکسل در حالت عادی از شماره گذاری های متوالی برای نام گذاری شیت ها استفاده می کند .

یعنی به محض اینکه شما یک شیت کاری را به مجموعه شیت های کاری خود اضافه می کند اکسل با توجه به آخرین شماره شیت قبلی شماره جدیدی را برای شیت تازه ایجاد شده در نظر می گیرد .

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

حالا اکسل این امکان را برای شما فراهم می کند که نام مورد نظر خود را برای شیت مربوطه وارد کنید.

 

کار با ورک شیت های اکسل

فقط باید این نکته را مد نظر قرار دهید که به هیچ عنوان اسامی مربوط به دو شیت کاری نمی توانند با هم یکسان باشند .

علاوه بر این در محیط کاری اکسل شما به راحتی می توانید بر روی تب مربوط به هر شیت کاری رفته و با یک کلیک ماوس صفحه مورد نظر را باز کرده و در داخل آن شروع به کار کنید .

تمامی این کارها را ما با دخالت مستقیم خود و یا کاربر باید به سرانجام برسانیم .

اما امروز و در این مطلب می خواهیم با هم یاد بگیریم که چطور تمامی این کارها با استفاده از برنامه نویسی VBA  انجام دهیم .

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

۱- تفاوت بین Sheets  و   Worksheets  در چیست ؟ 

۲- چگونه بک شیت کاری را فعال  کنیم .؟

۳- چگونه یک شیت کاری را انتخاب کنیم .؟

۴- نحوه انتخاب یک شیت کاری با استفاده از نام آن

۵-نحوه انتخاب یک شیت کاری با استفاده از شماره ایندکس آن

۶- نحوه انتخاب یک شیت کاری با استفاده از  نامگذاری شیت کاری در محیط VBA

۷ –  نحوه تغییر نام یک شیت با استفاده از کد نویسی

۸ – استفاده از حلقه ها در کار با ورک شیت ها. 

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

تفاوت بین Sheets  و   Worksheets  در چیست ؟ 

ما در برنامه نویسی در محیط  اکسل با اصطلاحات متعددی سر کار داریم

یکی از این اصطلاحات Workbook  است که در اصطلاح کلی به همان فایل اکسلی گفته می شود که باز بوده و در حال کار کردن با آن هستیم .

اما در این بین ما اصطلاحات دیگری داریم تحت عنوان Worksheet  و Sheets .

 این دو اصطلاح در ظاهر شبیه هم هستند و در بسیاری از موارد توسط کاربران به جای یکدیگر استفاده می شوند .

اما ما امروز در اینجا می خواهیم بطور اصولی به این دو اصطلاح پرداخته و جایگاه هر کدام از آنها را با یکدیگر مورد بررسی دقیق قرا دهیم .

گفتیم که ما هر فایل اکسل را تحت عنوان Workbook  می شناسیم .

حالا خود این ورک بوک شامل دو زیر مجموعه است .

مجموعه اول همان Worksheet  ها می باشند .

ورک شیتها در واقع یک مجموعه یا کلکسیونی از Sheet  ها هستند .

از طرفی دیگر Sheets  ها نیز مجموعه ای هستند که  شامل شیتهای کاری و شیتهای چارت یا همان chart sheets  هستند . 

اجازه بدهید با استفاده از تصویر زیر این دو مفهوم را بهتر توضیح بدهم .

 

کار با ورک شیت های اکسل

ما در این تصویر اگر بخواهیم worksheet  ها را مشخص کنیم باید بگوییم که در این ورک بوک سه worksheet  شامل worksheet 2 -worksheet و  ۳  worksheet  وجود دارند .

در طرف مقابل هم اگر بخواهیم Sheet  های موجود در این ورک بوک را نام ببریم باید بگوییم که این ورک بوک دارای ۴ شیت شامل  worksheet 2 -worksheet و  ۳  worksheet و همچنین  Chart Sheet  می باشد .

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

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

به عبارتی دیگر فصل ممیز بین دو اصطلاح شیت و ورک شیت در اکسل و برنامه نویسی VBA  وجود یا عدم وجود  Chart Sheet می باشد .

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

 

 چگونه یک شیت کاری را  فعال کنیم .؟

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

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

برای فعال کردن یک شیت کاری از طریق برنامه نویسی ما باید از متد Activate  استفاده کنیم . .

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

گفتیم که تمامی شیت های کاری در اکسل دارای یک نام منحصر به فرد و مختص به خود هستند .

ساده ترین راهی که با استفاده از آن می توانیم یک شیت کاری را فعال کنیم این است که نام شیت کاری خود را در کد مورد نظر خود ذکر کنیم .

بعنوان مثال به کد زیر دقت کنید .

 

ما در این کد با استفاده از متد Activate  از برنامه می خواهیم که شیت کاری تحت عنوان “mysheet” را برای ما فعال کند.

 

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

نرم افزار اکسل بعد از ایجاد یک شیت کاری علاوه بر اینکه یک نام را برای این شیت در نظر می گرد یک شماره منحصر بفرد را نیز برای آن تعریف می کند . 

این شماره منحصر به فرد را تحت عنوان ایندکس می شناسیم و اکسل با استفاده از این عدد موقعیت یک شیت کاری را بین شیت های کاری موجود مشخص می کند 

برای فعال کردن یک شیت کاری می توانیم از طریق همین شماره ایندکس استفاده کنیم .

بعنوان مثال به کد زیر توجه کنید .

 در اینجا ما فارغ از اینکه چه تعداد ورک شیت کاری داریم از برنامه خواسته ایم که اولین ورک شیت از مجموعه ورک شیتهای موجود را برای ما فعال کند باید این نکته را بدانیم که اکسل کار  ایندکس گذاری شیتها را از عدد ۱ شروع می کند

ما در کد بالا تعیین کردیم که اولین شیت کاری برای ما فعال شود .

با استفاده از کد زیر می توانیم کاری کنیم که بدون اینکه بدانیم چه تعداد شیت کاری داریم آخرین شیت مربوطه را برای ما فعال نماید .

 

نحوه انتخاب یک شیت کاری با استفاده از  نامگذاری شیت کاری در محیط VBA

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

به عنوان مثال به تصویر زیر نگاه کنید .

 

کار با ورک شیت های اکسل

ما در اینجا سه شیت کاری داریم که یکی از آنها را تحت عنوان mysheet  نام گذاری کرده ایم .

حالا به راحتی می توانیم با استفاده از این نام شیت مربوطه را فعال کنیم .

برای این منظور از کد زیر استفاده می کنیم .

نحوه تغییر نام یک شیت با استفاده از کد نویسی

 اکسل از دو طریق امکان تغییر نام شیتها را در اختیار ما می گذارد .

اول اینکه بصورت مستقیم و بطور دستی در محیط خود اکسل می توانیم این کار را انجام دهیم .

برای این منظور کافی است بر روی شیت کاری کلیک راست نموده و گزینه Rename  را انتخاب کرده و نام مورد نظر خود را وارد کنید .

اما در روش دوم ما می توانیم همین کار را با استفاده از کد نویسی در محیط اکسل انجام دهیم .

بعنوان مثال ما با استفاده از کد زیر می توانیم نام شیت جاری خود را تغییر دهیم .

نحوه کار با یک شیت در ورک بوک مجزا

تمامی مواردی که ما تا به اینجا بررسی کردیم مربوط به شیت هایی بودند که همگی در یک شیت کاری واحد قرار دارند .

اما اگر بخواهیم از یک ورک بوک به ورک بوک دیگری دسترسی پیدا کنیم و با آنها کار کنیم می توانیم از طریق کد نویسی این کار را انجام دهیم .

بعنوان مثال به کد های زیر توجه کنید .

 

 در کد بالا ما یک فایل داریم تحت عنوان myfile   که شیت شماره ۱ آن را فعال کرده ایم .

در مورد این کد باید به دو نکته زیر توجه کنید .

اول اینکه حتما باید نام فایل خود را به همراه فرمت آن ذکر کنیم .

نکته دوم این که حتما باید فایل مورد نظر ما در حال حاضر باز باشد تا امکان کار با آن وجود داشته باشد در غیر اینصورت اجرای کد بالا ما را با ژیغام خطا مواجه می کند .

تفاوت بین Select sheet  و Active sheet

 در اینجا می خواهیم به بررسی دو اصطلاح Active sheet  و  select sheet  در اکسل بپردازیم و تفاوت آنها را با هم بررسی کنیم 

Active sheet  در اصطلاح به شیتی گفته می شود که هم اکنون فعال است و ما در حال کار کردن بر روی آن هستیم .

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

در مقابل select sheet اشاره به شیت یا شیت هایی دارند که که ما آنها را به حالت انتخاب درآورده ایم .

بر خلاف خاصیت Active sheet  که ما فقط قادر به فعال نمودن یک شیت کاری از بین شیت های مختلف بودیم در متد select sheet می توانیم بصورت همزمان بیش از دو یا چند شیت را به حالت انتخاب در آوریم .

بعنوان مثال به کد های زیر دقت کنید .

ما در اینجا با استفاده از آرایه توانستیم شیت های مورد نظر را به حالت انتخاب درآوریم .

اطلاق نام یک ورک شیت به یک متغیر

یکی از کارهایی که در برنامه نویسی می توانیم انجام دهیم این است که یک متغیر را تعریف نموده و برای مقدار آن متغیر نام شیت کاری خود را تعریف کنیم تا در این متغیر ذخیره شود .

از این به بعد می توانیم به جای نام شیت کاری که می تواند یک نام طولانی باشد به سادگی به نام متغیری اشاره کنیم که شیت کاری ما را در خود ذخیره نموده است .

بعنوان مثال به کدهای زیر توجه کنید .

ما در خط اول از این کد ها یک متغیر تعریف کردیم از نوع ورک شیت .

در خط دوم شیت کاری مورد نظر خود را به این متغیر معرفی و نام آن را در این متغیر قرار دادیم .

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

کار با ورک شیت ها با استفاده از حلقه ها در اکسل

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

اما تصور کنید که تعداد ۵۰ شیت کاری دارید و می خواهید رنگ مربوط به هر تب از شیت ها را به رنگ سبز تغییر دهید  . 

یک راه این است که این عملیات را خود بر روی تک تک شیت ها انجام دهید .

اما راه بهتر که هم سریعتر است و هم بدون درد سر  این است که از کد نویسی استفاده کنیم .

برای اینکه بتوانیم این کار را با استفاده از کدها به سرانجام برسانیم باید از حلقه ها در ساختار کدهای خود استفاده کنیم .

به کدهای زیر توجه کنید .

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

این مطلب  به مرور زمان تکمیل می شود…… .

در ضمن ما در صفحه اینستاگرام خود اقدام به تهیه آموزش های کوتاه تصویری در خصوص کار با نرم افزار اکسل و ترفندهای کاربردی در این زیمنه کرده ایم .

همچنیم می توانید مفاهیم برنامه نویسی VBA  در محیط اکسل را در قالب ویدئوهای یک دقیقه ای در پیج ما مشاده کنید .

برای دسترسی به پیج ما در اینستاگرام کافی است برروی تصویر زیر کلیک کنید .

کار با ورک شیت های اکسل

دسته‌بندی نشده بازدید : 983 views 16 می, 2020 ۰