Chart Object এবং Series Collection ব্যবহার
VBA (Visual Basic for Applications)-এ Chart Object এবং Series Collection এক্সেল গ্রাফ বা চার্ট তৈরি এবং কাস্টমাইজ করতে ব্যবহৃত হয়। Chart Object হলো একটি চার্টের পুরো অবজেক্ট, যা চার্টের ধরন, শিরোনাম, অক্ষের নাম, এবং ডেটা সেটিংস কাস্টমাইজ করতে সক্ষম। আর Series Collection হলো একটি চার্টের ডেটা সিরিজের সংগ্রহ, যা আপনাকে একাধিক সিরিজের ডেটা যোগ করতে এবং নিয়ন্ত্রণ করতে সাহায্য করে।
এখানে, আমরা Chart Object এবং Series Collection সম্পর্কে বিস্তারিত আলোচনা করব এবং কিভাবে এগুলি ব্যবহার করা হয় তা উদাহরণ সহ দেখাব।
১. Chart Object (চার্ট অবজেক্ট)
Chart Object হলো একটি এক্সেল চার্টের পুরো অবজেক্ট, যা চার্টের সেটিংস এবং ডেটার বিভিন্ন বৈশিষ্ট্য নিয়ন্ত্রণ করে। এটি সাধারণত Chart ফর্ম্যাটের মধ্যে থাকে এবং একাধিক Series বা ডেটা সিরিজ ধারণ করতে পারে।
Chart Object এর সাথে কাজ করা
নতুন চার্ট তৈরি করা:
Dim chartObj As ChartObject Set chartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) chartObj.Chart.ChartType = xlColumnClustered ' চার্টের টাইপ নির্ধারণএখানে,
ChartObjects.Addমেথড দিয়ে নতুন একটি চার্ট তৈরি করা হচ্ছে, এবংChartTypeপ্রপার্টি দিয়ে চার্টের ধরন xlColumnClustered (কলাম চার্ট) হিসেবে সেট করা হয়েছে।Chart Type পরিবর্তন:
chartObj.Chart.ChartType = xlLine ' লাইন চার্ট তৈরি করাএখানে, চার্টের ধরন xlLine পরিবর্তন করা হয়েছে, যা একটি লাইন চার্ট তৈরি করবে।
Chart Title সেট করা:
chartObj.Chart.HasTitle = True chartObj.Chart.ChartTitle.Text = "Sales Data" ' চার্টের শিরোনাম যোগ করাএখানে, চার্টের শিরোনাম Sales Data হিসেবে সেট করা হচ্ছে।
২. Series Collection (সিরিজ কালেকশন)
Series Collection হলো একটি চার্টের ডেটা সিরিজের সংগ্রহ। প্রতিটি Series হলো চার্টের একটি ভিন্ন ডেটা সেট, যেমন একাধিক লাইনের ডেটা বা বার চার্টের বিভিন্ন সেট।
Series Collection এর সাথে কাজ করা
Chart এ Series যোগ করা:
Dim series As Series Set series = chartObj.Chart.SeriesCollection.NewSeries series.Name = "2020 Sales" ' সিরিজের নাম নির্ধারণ series.Values = Array(100, 200, 150, 250) ' ডেটা সিরিজের মান নির্ধারণ series.XValues = Array("January", "February", "March", "April") ' X-Axis মান নির্ধারণএখানে, নতুন একটি সিরিজ যোগ করা হয়েছে এবং সিরিজের নাম, ডেটা মান, এবং X-Axis মান নির্ধারণ করা হয়েছে।
SeriesCollection.NewSeriesমেথড দিয়ে নতুন সিরিজ তৈরি করা হচ্ছে এবংValuesওXValuesদিয়ে ডেটার মান যোগ করা হচ্ছে।Existing Series (অস্তিত্বমান সিরিজ) নির্বাচন ও কাস্টমাইজ করা:
Dim series As Series Set series = chartObj.Chart.SeriesCollection(1) ' প্রথম সিরিজ নির্বাচন করা series.Border.Color = RGB(255, 0, 0) ' সিরিজের বর্ডার রঙ পরিবর্তন series.MarkerStyle = xlMarkerCircle ' সিরিজের মার্কার স্টাইল পরিবর্তনএখানে, প্রথম সিরিজটি নির্বাচন করা হয়েছে এবং তার বর্ডার রঙ এবং মার্কার স্টাইল কাস্টমাইজ করা হয়েছে।
Multiple Series যোগ করা:
chartObj.Chart.SeriesCollection.NewSeries chartObj.Chart.SeriesCollection(2).Name = "2021 Sales" chartObj.Chart.SeriesCollection(2).Values = Array(150, 250, 200, 300) chartObj.Chart.SeriesCollection(2).XValues = Array("January", "February", "March", "April")এখানে, দুটি সিরিজ তৈরি করা হয়েছে এবং প্রত্যেকটির জন্য ডেটা এবং X-Axis মান নির্ধারণ করা হয়েছে। সিরিজের নামও পরিবর্তন করা হয়েছে।
৩. Series Formatting (সিরিজ ফরম্যাটিং)
Series অবজেক্ট ব্যবহার করে আপনি একাধিক সিরিজের ফরম্যাটও কাস্টমাইজ করতে পারেন। যেমন, সিরিজের রঙ পরিবর্তন, মার্কার ব্যবহার, অথবা লাইন স্টাইল নির্ধারণ করা।
Series এর লাইন রঙ পরিবর্তন:
chartObj.Chart.SeriesCollection(1).Border.Color = RGB(0, 255, 0) ' সিরিজের লাইন রঙ পরিবর্তনSeries মার্কার কাস্টমাইজ করা:
chartObj.Chart.SeriesCollection(1).MarkerStyle = xlMarkerDiamond ' মার্কার স্টাইল পরিবর্তন chartObj.Chart.SeriesCollection(1).MarkerSize = 10 ' মার্কার সাইজ নির্ধারণSeries এর Fill Color পরিবর্তন:
chartObj.Chart.SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 255, 0) ' সিরিজের ফিল রঙ পরিবর্তনএখানে,
Fill.ForeColor.RGBব্যবহার করে সিরিজের ফিল রঙ পরিবর্তন করা হচ্ছে।
৪. Chart Formatting (চার্ট ফরম্যাটিং)
এছাড়াও, আপনি পুরো Chart Object এর ফরম্যাট কাস্টমাইজ করতে পারেন। যেমন, চার্টের অক্ষের নাম, গ্রিডলাইন, লেজেন্ড ইত্যাদি।
X এবং Y Axis Label যোগ করা:
chartObj.Chart.Axes(xlCategory, xlPrimary).HasTitle = True chartObj.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Months" chartObj.Chart.Axes(xlValue, xlPrimary).HasTitle = True chartObj.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Sales"Legend Display করা:
chartObj.Chart.HasLegend = True ' চার্টে লেজেন্ড যোগ করা chartObj.Chart.Legend.Position = xlLegendPositionBottom ' লেজেন্ডের অবস্থান নির্ধারণGridlines এবং Major TickMarks ফরম্যাট করা:
chartObj.Chart.Axes(xlCategory).MajorGridlines.Border.Color = RGB(200, 200, 200) ' গ্রীডলাইন রঙ পরিবর্তন chartObj.Chart.Axes(xlCategory).MajorTickMark = xlTickMarkOutside ' টিক মার্কের অবস্থান
উপসংহার
- Chart Object ব্যবহার করে আপনি চার্টের ধরন, শিরোনাম, এবং অন্যান্য ফিচার কাস্টমাইজ করতে পারেন।
- Series Collection ব্যবহার করে চার্টে একাধিক ডেটা সিরিজ যোগ করা, তাদের মান নির্ধারণ করা এবং সিরিজের ফরম্যাট কাস্টমাইজ করা যায়।
- আপনি একাধিক সিরিজ, লেজেন্ড, অক্ষের নাম এবং অন্যান্য উপাদান কাস্টমাইজ করতে পারবেন যাতে আপনার চার্ট আরও কার্যকর এবং সুন্দর হয়ে ওঠে।
এই টুলসগুলো ব্যবহার করে আপনি VBA-তে চার্ট তৈরি এবং কাস্টমাইজ করার ব্যাপক নিয়ন্ত্রণ পেতে পারেন।
Read more