ایجاد نمودار اکسل توسط کدهای VBA در ۴ گام ساده
ایجاد یک نمودار اکسل توسط کدهای VBA موضوعی است که می خواهیم در این مطلب به آن بپردازیم .
در خصوص نمودارها که حتما اطلاعات کافی دارید .
خیلی خوب می دانید که نمودارها چه هستند و چرا و کجاها از آنها استفاده می کنیم .
مطمئنا هم که با انواع این نمودارها آشنا هستید از انواع نمودارهای ستونی ، استوانه ای و دایره ای ، تجمعی و ….. .
که با توجه به نیاز و خواسته خود می توانیم از هر کدام از آنها در جای خود استفاده کنیم .
در خصوص نحوه ایجاد و کار با نمودارها در محیط اکسل هم که مطمئنا چیزهای زیادی می دانید .
اینکه چه جوری می توانیم در محیط اکسل یک نمودار را ایجاد کنیم فکر نمی کنم که قضیه آنچنان سخت و پیچیده ای باشد .
اکثر کاربران اکسل یکی از اولین چیزهایی که به سراغ آن می روند و کار با آن را یاد می گیرند این است که چه جوری می توانند در محیط اکسل یک نمودار را ایجاد کنند .
خوب پس تا به همین جای کار می بینید که خیلی چیزها را بلد هستیم .
ما هم در اینجا قرار نیست هم وقت خودمان و هم شما را به خاطر چیزهایی که می دانیم بگیریم و چیزهای تکراری را با هم بخواهیم مرور کنیم .
شما خیلی خوب بلد هستید که یک نمودار را در محیط اکسل ایجاد کنیم .
اما یک سوال ؟
آیا می دانید که چه جوری و با چه روشی می توانیم همان نموداری را که در محیط اکسل ایجاد می کنیم را با استفاده از کد نویسی از طریق محیط VBA ایجاد کنیم .
یعنی تمام کارهایی را که در محیط اکسل انجام می دهیم را با استفاده از کدها ی VBA انجام دهیم .
خوب شاید قبل از هر چیز بپرسید که فایده این کار چیست ؟
وقتی که ما به راحتی می توانیم یک نمودار را بعد از طی چند مرحله ایجاد کنیم چه نیازی به کدنویسی داریم .
خوب برای پاسخ دادن به این سوال یک نگاهی به تصویر زیر بکنید
در حالت عادی برای اینکه یک نمودار ساده را ایجاد کنید باید حداقل سه تا چهار تا مرحله را پشت سر هم انجام دهید تا در نهایت به نتیجه نهایی خود که همان نمودار مورد نظرتان است برسید .
اما در اینجا همه چیز به سادگی دو کلیک است.
فقط کافی است محدوده مورد نظر خود برای تهیه نمودار را معرفی کرده و سپس بر روی یک دکمه کلیک کنید.
به همین سادگی می توانید نمودار مورد نظر خود را تحویل بگیرید .
پس امروز می خواهیم با هم این مراحل را انجام این کار را دنبال کنیم .
من سعی می کنم که مفاهیم را مرحله به مرحله و به ساده ترین زبان ممکن بیان کنم تا مطالب برای همه قابل فهم و استفاده باشد .
پس تا انتهای این آموزش همراه من باشید .
مراحل ایجاد نمودار اکسل توسط کدهای VBA
خوب در اینجا مراحلی را که باید دنبال کنیم تا با استفاده کدهای VBA بتوانیم به ایجاد نمودار بپردازیم را با هم شروع می کنیم .
در قدم اول ما نیاز به یکسری از اطلاعات داریم که با استفاده از آنها بتوانیم نمودار خود را ایجاد کنیم .
برای این منظور من از اطلاعات زیر استفاده می کنم .
مرحله اول : ایجاد یک ماژول .
برای شروع کار از محیط اکسل وارد محیط برنامه نویسی VBA خود شوید .
برای این کار می توانید از کلیدهای میانبر ALT + F11 استفاده کنید .
بعد از ورود به این محیط اولین کاری که باید بکنیم ایجاد یک ماژول است .
برای این کار هم کافی است از منوی Insert بر روی گزینه Module کلیک کنید.
حالا باید یک روال یا پروسیجر را ایجاد کنیم .
برای این منظور من روال زیر را ایجاد کرده ام .
قدم اول : ایجاد یک روال ساده
برای شروع کار وارد محیط کد نویسی اکسل شده و یک روال ساده را ایجاد کنید .
sub mychart()
end sub
حالا داخل این روال شروع به کد نویسی می کنیم .
قدم دوم : نوشتن کدهای مورد نیاز
کد نویسی را با تعریف یک متغیر شروع می کنید .
sub mychart()
dim mychart as mychart
end sub
در اینجا یک متغیر به نام mychart را ایجاد کرده و نوع آن را از نوع chart قرار داده ایم .
از آنجا که این متغیر ما از نوع شی است بنابراین باید یک شی را برای آن تعیین کرده و به آن منتسب کنیم .
برای این منظور از دستور Set به قرار زیر استفاده می کنیم .
()Sub mychart
Dim MyChart As Chart
Set MyChart = Charts.Add
End Sub
در خط دوم از این کد ما از متد Add استفاده کرده ایم .
این کار باعث می شود که به مجموعه شیت های کاری ما در اکسل یک شیت کاری جدید با عنوان Chart اضافه شود .
برای اینکه نتیجه کار را تا همین جا ملاحظه کنید کافی است دکمه F5 را فشار دهید
پس تا به اینجای کار ما یک صفحه کاری جدید به محیط کاری خود اضافه کرده و می خواهیم نمودار خود را در این صفحه ایجاد کنیم .
پس گام بعدی ایجاد خود نمودار مورد نظرمان است
گام سوم : ایجاد نمودار مورد نظر
در سومین گام برای ایجاد نمودار اکسل توسط کدهای VBA باید به سراغ اصل خود موضوع یعنی ایجاد نمودار و تنظیمات مربوط به آن برویم .
برای این کار باید چند ویژگی مربوط به نمودار خود را تعیین و تعریف کنیم .
اول یک نگاهی به لیست کارهایی که باید بکنیم بیاندازیم .
۱- اول باید برای نمودار خود یک سورس و منبع تعیین کنیم تا بر مبنای اطلاعات آن نمودار ما ایجاد شوند .
۲- در گام دوم باید نوع نمودار خود را مشخص کنیم که می خواهیم از چه نوعی باشد اینکه یک نمودار ستونی باشد یا دایره ای و یا هر نوع دیگری که بعدا به آن خواهیم پرداخت .
۳- در گام بعدی هم یک عنوان برای نمودار خود تعریف می کنیم .
فعلا همین سه آیتم را مد نظر قرار داشته باشید تا به آنها بپردازیم و نحوه ایجاد نمودار خود را با استفاده از سه آیتم با هم پیش ببریم .
گفتیم که در قدم اول باید برای نمودار خود یک منبع اطلاعات تعریف کنیم تا بر مبنای این اطلاعات بتوانیم نمودار خود را ایجاد کنیم .
برای معرفی منبع اطلاعات خود از کد زیر استفاده می کنیم .
چون ما در اینجا می خواهیم بطور همزمان بر روی چند ویژگی از این نمودار کار کنیم بهتر است که از متد With استفاده کنیم .
Sub myCharts()
Dim MyChart As Chart
Set MyChart = Charts.Add
With MyChart
.SetSourceData Sheets("Sheet1").Range("A1:A10")
End With
End Sub
ما در اینجا در خط شماره ۹ با استفاده از متد SetSourceData به برنامه گفته ایم که داده های مورد نظر ما برای ایجاد نمودار در Sheet1 و محدوده سلول های A1: A10 قرار دارد .
گام چهارم : تعیین نوع نمودار
در این مرحله ما باید نوع نمودار مورد نظر خود را برای برنامه تعیین کنیم .
در این جا من نمودار نوع ستونی ساده را که در اکسل تحت عنوان Clustered نام گذاری شده است مد نظر دارم .
خوب برای تعیین این نوع از نمودار از کدهای زیر استفاده می کنم .
Sub myCharts()
Dim MyChart As Chart
Set MyChart = Charts.Add
With MyChart
.SetSourceData Sheets("Sheet1").Range("A1:A10")
.ChartType = xlColumnClustered
End With
End Sub
در اینجا یک نکته را با هم بررسی می کنیم .
وقتی که می خواهیم نوع نمودار خود را تعیین کنیم در خط شماره ۱۱ بعد از درج علامت مساوی بلافاصله یک لیستی از تمامی نمودارها را برای ما به نمایش می گذارد که می توانیم نمودار مورد نظر خود را انتخاب کنیم .
ما تا به اینجا توانستیم نمودار مورد نظر خود را با استفاده از چند خط کد نویسی ساده در محیط VBA ایجاد کنیم . در ادامه هم می توانیم با درج یک نقطه در خط بعدی به لیستی از تمامی ویژگی های مربوط به نمودار خود دسترسی پیدا کرده و مقادیر مورد نظر خود را برای آنها تنظیم کرد .
بعنوان مثال در اینجا می خواهیم یک عنوان را برای نمودار خود تعریف کنیم .
برای این منظور می توانیم از کدهای زیر استفاده کنیم .
مطلب مرتبط : نحوه ایجاد پسوند در مقادیر موجود در اکسل
Sub myCharts()
Dim MyChart As Chart
Set MyChart = Charts.Add
With MyChart
SetSourceData Sheets("Sheet1").Range("A1:B7")
.ChartType = xlColumnClustered
.ChartTitle.Text = "مقادير فروش سالانه "
End With
End Sub
ما در اینجا در خط ۱۴ از کدهای خود توانستیم یک عنوان برای نمودار خود تعریف کنیم .
کار ما در اینجا به اتمام رسیده اسد .
برای نمایش نتیجه کار می توانیم دکمه F5 را از روی کیبورد خود فشار دهیم تا کدها اجرا شود .
بعد از اجرای کدهای خود می توانید به محیط اکسل برگردید و نمودار خود را مشاهده کنید .
و اما اینکه چگونه یک دکمه بر روی صفحه کاری خود ایجاد کنیم و کدهای خود را به آن مرتبط کنیم مطلبی است که به دفعات در آموزش های قبلی این سایت راجع به آن صحبت کرده و نمونه های متعددی را انجام دادیم .
در ویدئوی ابتدای این صفحه هم می توانید توضیحات تکمیلی در مورد این آموزش را مشاهده کنید .
مطالب زیر را حتما مطالعه کنید
ذخیره نمودارها با کدهای VBAبصورت تصویر+راهنمای گام به گام
لیست باکس ها در برنامه نویسی VBA ؛ تمام چیزی که باید بدانید .
۷ اشتباه در کدنویسی VBA که ممکن است شما هم مرتکب شوید ؟
توی این آموزش راجع به اشتباهاتی که ممکن است در برنامه نویسی VBA مرتکب آنها شوید صحبت می کنیم .
با این خطای Runtime Error 1004 در VBA چکار کنیم ؟
در این آموزش راجع به خطایی به اسم Run time error 1004 در برنامه نویسی وی بی ای با هم صحبت می کنیم .
چطور با کدهای VBA اطلاعات را از اکسس به ورد بفرستیم؟
کلمه کلیدی set و کاربردهای آن در برنامه نویسی VBA
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام و تشکر از آموزش عالی تان
درود بر شما کدهایی که در این مقاله ارائه فرمودید نوشتم ولی خطا اعلام میشه. روی عبارت setsourcedata آبی میشه و خطای compil error – sub or function not defined را اعلام میکنه. لطفا بررسی و راهنمایی بفرمایید.
ممنون
سلام در اولین فرصت یک ویدئوی اموزشی برای این مطلب تهیه و در همین صفحه قرار می گیرد و به مشکل شما هم پرداخته می شود