رسم نمودار به کمک کدهای VBA در اکسل
سلام به آموزش دیگری از سایت سافت پلاس خوش اومدید . موضوع آموزش امروز ما در مورد نحوه ترسیم نمودار به کمک کدهای VBA در نرم افزار اکسل است .
مطمئنا خیلی خوب می دونید که نرم ازفار اکسل در کار رسم نمودارها یک نرم افزار همه چیز تمام است . به راحتی هر جور نموداری را می توانید به کمک این نرم افزار رسم کنید و تنظیمات مختلفی را بر روی آن اعمال کنید .
اما امروز قرار نیست راجع به نحوه رسم نمودارها توسط خود نرم افزار اکسل با شما صحبت کنم و یا اینکه در مورد نمودار یا نمودارهای خاصی هم قرار نیست صحبت کنیم .
بلکه امروز می خواهیم در مورد نحوه ترسیم نمودار به کمک کدهای VBA و اینکه چه جوری می توانیم با استفاده از برنامه نویسی VBA نمودارهای مورد نظر خود را ایجاد کنیم با هم صحبت کنیم .
اما یک سوال . وقتی که خود نرم افزار اکسل ابزارهایی دارد که به کمک آنها خیلی راحت می توانیم نمودارهای خود را ایجاد کنیم چرا باید به خود دردسر بدهیم و بخواهیم با استفاده از برنامه نویسی نمودارها را ایجاد کنیم ؟
این یکی از سوالاتی است که در کنار سوالات زیر قرار است در این آموزش به آنها بپردازیم :
– اول نحوه ایجاد نمودارها توسط کد نویسی وی بی ای را بررسی می کنیم .
– در گام بعدی با نحوه فراخوانی و اشاره به نمودارهای مختلف آشنا می شویم
– یاد می گیریم که چه جوری خصوصیات مربوط به نمودارها را با استقاده از کد نویسی تغییر دهیم .
من علیرضا شهرآئینی هستم در این مطلب به شما خواهم آموخت چطور با استفاده از کدهای VBA به راحتی بتوانید نمودارهای مورد نظر خود را در اکسل ایجاد کرده و آنها را مدیریت کنید .
ترسیم نمودار به کمک کدهای VBA
برای رسم نمودارها در اکسل به کمک برنامه نویسی وی بی ای کار چندان سختی در پیش نداریم . فقط کافی است با اصول کار با نمودارها در اکسل آشنا شویم . این اصولی که از آن اسم می بریم شامل دو بخش می شود.
بخش اول شامل مواردی می شود که به کمک آنها می توانیم نمودارهای خود را مدیریت کنیم . یعنی ما از قبل یک سری نمودار در داخل اکسل خود داریم . حالا باید با استفاده از برنامه نویسی و کد های VBA به این نمودارها دسترسی پیدا کنیم .
بعد از این کار می رویم به سراغ ویژگی های مختلف مربوط به نمودارها و آنها را با کمک کدهای وی بی ای به راحتی تغییر می دهیم .
بخش دوم هم شامل مواردی می شود که ما اصلا از قبل هیچ نموداری نداریم بلکه به کمک کدهای وی بی ای اقدام به ترسیم نمودار از پایه می کنیم در هر دو حالت به راحتی می توانیم هم نمودارهای موجود را مدیریت کنیم و هم نمودارهای خود را ایجاد کنیم .
پس از این جا به بعد آموزش ما شامل دو بخش خواهد شد . در بخش اول به سراغ کدهایی می رویم که به کمک آنها می توانیم نمودارهی خود را ایجاد کنیم .
مطلب مرتبط : من چطور یک نمودار دایره ای ساده را بصورت حرفه ای نمایش می دهم
۱- ایجاد نمودارها به کمک کدهای VBA
برای ایجاد یک نمودار در اکسل احتیاج به یک سری از اطلاعات داریم . برای این کار من از اطلاعات جدول زیر استفاده می کنم .
هدف من در اینجا این است که یک نمودار از این اطلاعات خود ایجاد کنم . البته که می خواهم این کار را به کمک برنامه نویسی VBA انجام دهم . پس کار ایجاد نمودار ها را به روش زیر شروع می کنیم .
اول یک دکمه را بر روی شیت کاری خود قرار می دهیم . اول ببینیم که چه جوری می شود این کار را بکنیم و بعد به شما خواهم گفت که این دکمه چه کاری را قرار است برای ما انجام دهد .
برای قرار دادن یک دکمه بر روی شیت کاری خود این چند مرحله ساده را انجام دهید .
اول به سربرگ Developer بروید .
در این سربرگ به سراغ داشبورد Controls بروید .
در این داشبورد بر روی گزینه insert کنید .
از زیر مجموعه ابزار موجود در قسمت Active x controls بر روی گزینه Button کلیک کنید.
حالا می توانید با کلیک کردن در نقطه مورد نظر خود در شیت کاری این دکمه را بر روی صفحه کاری خود قرار دهید .
تمامی موارد و مراحل بالا را در تصویر زیر می توانید ملاحظه کنید .
خب این از نحوه اضافه کردن و قرار دادن دکمه بر روی شیت کاری . حالا این دکمه قرار است چه کاری برای ما انجام بدهد . قرار است هر موقع که بر روی این دکمه کلیک می کنیم بطور خودکار یک نمودار از اطلاعات ما تهیه شود .
یعنی می خواهیم کاری کنیم که مراحل مختلف کاری برای ایجاد یک نمودار را تنها در یک کلیک بر روی این دکمه خلاصه کنیم . مطمئنا برای این کار چاره ای نداریم به غیر از اینکه به سراغ کدهای VBA برویم .
بنابراین باید برای این دکمه خود یک سری از کدهایی را بنویسیم که وقتی بر روی آن کلیک می کنیم فرآیند ایجاد نمودار برای ما شروع شود . برای این کار باید به سراغ رویداد کلیک مربوط به این دکمه برویم .
بنابراین این مراحل را با من طی کنید تا کدهای لازم را ایجاد کنیم .
– ابتدا بر روی این دکمه یک دابل کلیک کنید تا برنامه بطور خودکار شما را به محیط کد نویسی مربوط به این دکمه منتقل کند . البته برای این کار باید حواس تان باشد که در داشبورد Controls حتما گزینه Design فعال باشد .
با انجام این کار اکسل برای شما یک روال ایجاد می کند حالا در داخل این روال شروع به کد نویسی می کنیم .
در اولین قدم در داخل این روال یک متغیر تعریف می کنیم . من برای تعریف این متغیر از کد زیر استفاده می کنم .
()Private Sub CommandButton1_Click Dim ch_obj As ChartObject End Sub
در اینجا من یک متغیر تعریف کرده ام به اسم ch_obj و نوع آن را از نوع شی chartobject قرار داده ام .
پس این شد متغیری که در ان قرار است یک شی از نوع چارت یا نمودار را در خود ذخیره کند .
اما در ادامه به متغیر دیگری هم احتیاج دارم . من این متغیر را به اسم myrange نام گذاری کرده و با استفاده از کد زیر آن را برای برنامه تعریف می کنم .دقت کنید که ما مرحله به مرحله کدهای قبلی خود را تکمیل می کنیم .
()Private Sub CommandButton1_Click Dim chobj As ChartObject Dim myrange As Range End Sub
متغیر دوم ما هم از نوع شی است و نوع این شی هم بصورت Range معرفی شده است .
پس تا به اینجای کار ما دو تا شی داریم که برنامه با آنها آشنا شده است . با استفاده از شی ch_obj قرار است نوع نمودار مورد نظر خود را برای اکسل تعیین کنیم .
با استفاده از شی myrange هم قرار است محدوده ای را که قرار است با استفاده از اطلاعات آنها نمودار خود را تهیه کنیم را برای اکسل مشخص کنیم
حالا باید برای برنامه این اشیا را مقدار دهی کنیم .مقدار دهی یعنی تعیین کنیم که چه نموداری از چه محدوده ای از اطلاعات را می خواهیم ایجاد کنیم .
برای مقدار دهی به اشیا در وی بی ای از کلمه کلیدی set استفاده می کنیم .
بنابراین کدهای قبلی خود را به صورت زیر تکمیل می کنیم .
()Private Sub CommandButton1_Click Dim chobj As ChartObject Dim myrange As Range Dim myrange As Range ("Set myrange = Set myrange = ActiveSheet.Range("A2:C10 End Sub
در خط آخر از این کدها ما کل محدوده ای را که قرار است از آن نمودار مورد نظر خود را از آنها ایجاد کنیم را برای برنامه تعیین کرده ایم .
پس در اینجا محدوده اطلاعات خود را به برنامه معرفی کردیم . حالا باید برویم به سراغ تنظیمات مربوط به نمودار مورد نظر خودمان .
تنظیمات مربوط به افزودن نمودار به اکسل
حالا می رسیم به یکی از مهمترین قسمتهای کار . تا به اینجای کار ما اطلاعاتی را که می خواهیم از آنها نمودار تهیه کنیم را با استفاده از کدهای وی بی ای به برنامه معرفی کرده ایم .
در این بخش باید برای اکسل تعیین کنیم چه نوع نموداری را می خواهیم برای ما ترسیم کند .
مطمئنا می دانید که اکسل دارای طیف وسیعی از انواع مختلف نمودارها می باشد . هر کدام از این نمودارها هم برای منظور و کار خاصی استفاده می شوند .
ما در اینجا زیاد نمی خواهیم از موضوع آموزش مان خارج شویم . هدف ما در اینجا این است که ببینیم چه جوری می توانیم اطلاعات خود را در قالب نمودارها به کاربر نمایش دهیم .
و البته که می خواهیم این کار را یعنی کار ایجاد نمودارها را با استفاده از برنامه نویسی وی بی ای انجام دهیم . برویم ببینیم که چه طور می توانیم به برنامه نوع نمودار مورد نظر خود را معرفی کنیم .
ما در برنامه نویسی وی بی ای دو تا شی داریم به نام chartobjects و شی دیگر به نام shapes . ما با استفاده از هر کدام از این دو شی می توانیم نمودار مورد نظر خود را در اکسل ایجاد کنیم . اما چگونه ؟
اول بیایید این کار با استفاده از شی chartobjects انجام دهیم .
مطلب پیشنهادی : نقشه سه بعدی یا 3DMap در اکسل ، نحوه کار با آن
ترسیم نمودار در اکسل به کمک شی chartobjects
این مطلب به تدریج تکمیل خواهد شد ……… .
مطالب زیر را حتما مطالعه کنید
ذخیره نمودارها با کدهای VBAبصورت تصویر+راهنمای گام به گام
لیست باکس ها در برنامه نویسی VBA ؛ تمام چیزی که باید بدانید .
۷ اشتباه در کدنویسی VBA که ممکن است شما هم مرتکب شوید ؟
توی این آموزش راجع به اشتباهاتی که ممکن است در برنامه نویسی VBA مرتکب آنها شوید صحبت می کنیم .
با این خطای Runtime Error 1004 در VBA چکار کنیم ؟
در این آموزش راجع به خطایی به اسم Run time error 1004 در برنامه نویسی وی بی ای با هم صحبت می کنیم .
دیدگاهتان را بنویسید