VBA দিয়ে Charts তৈরি এবং Customization করা

Macros এবং VBA দিয়ে Chart Automation - অ্যাডভান্সড এক্সেল চার্টস (Advanced Excel Charts) - Big Data and Analytics

432

VBA (Visual Basic for Applications) এর মাধ্যমে Charts তৈরি করা

VBA হল এক্সেলের একটি শক্তিশালী টুল যা অটোমেশন এবং কাস্টমাইজেশন করার জন্য ব্যবহৃত হয়। VBA ব্যবহার করে আপনি এক্সেল চার্ট তৈরির প্রক্রিয়াটি অটোমেটিক্যালি সম্পন্ন করতে পারেন, এবং এটি আপনার কাজকে আরও দ্রুত এবং দক্ষ করে তোলে। VBA দিয়ে চার্ট তৈরি করার মাধ্যমে আপনি একই ধরনের চার্ট বা ডাইনামিক চার্ট তৈরি করতে পারবেন যেগুলি ম্যানুয়ালি তৈরি করার চেয়ে অনেক বেশি কাস্টমাইজড এবং শক্তিশালী।


VBA দিয়ে Basic Chart তৈরি করা

ধাপ:

  1. VBA Editor খুলুন:
    • Excel এ Alt + F11 চেপে VBA Editor খুলুন।
    • এরপর, Insert > Module সিলেক্ট করুন নতুন একটি মডিউল তৈরি করতে।
  2. VBA কোড লিখুন: একটি সাধারণ Column Chart তৈরির জন্য নিচের কোডটি ব্যবহার করা যেতে পারে:

    Sub CreateChart()
        Dim Chart As ChartObject
        Dim DataRange As Range
        
        ' ডেটা রেঞ্জ সিলেক্ট করুন
        Set DataRange = Range("A1:B6")
        
        ' নতুন চার্ট তৈরি করুন
        Set Chart = ActiveSheet.ChartObjects.Add
        
        ' চার্টের টাইপ সেট করুন (Column Chart)
        Chart.Chart.ChartType = xlColumnClustered
        
        ' ডেটার রেঞ্জ যুক্ত করুন
        Chart.Chart.SetSourceData Source:=DataRange
        
        ' চার্টের শিরোনাম সেট করুন
        Chart.Chart.HasTitle = True
        Chart.Chart.ChartTitle.Text = "Sales Data"
    End Sub
    
  3. কোড রান করুন:
    • কোডটি রান করার জন্য F5 চাপুন বা Run বাটনে ক্লিক করুন।
    • এরপর, আপনার এক্সেল শীটে একটি Column Chart তৈরি হবে।

VBA দিয়ে Chart Customization

VBA দিয়ে শুধু চার্ট তৈরি করা নয়, আপনি চার্টটির বিভিন্ন দিক কাস্টমাইজও করতে পারেন, যেমন শিরোনাম, রঙ, লেজেন্ড, এক্স এবং ওয়াই অক্ষের নাম, ডাটা লেবেল ইত্যাদি।

শিরোনাম এবং অক্ষের নাম কাস্টমাইজ করা

Sub CustomizeChart()
    Dim Chart As ChartObject
    Dim DataRange As Range

    ' ডেটার রেঞ্জ সিলেক্ট করুন
    Set DataRange = Range("A1:B6")

    ' নতুন চার্ট তৈরি করুন
    Set Chart = ActiveSheet.ChartObjects.Add
    Chart.Chart.SetSourceData Source:=DataRange
    Chart.Chart.ChartType = xlLine

    ' চার্টের শিরোনাম কাস্টমাইজ করুন
    Chart.Chart.HasTitle = True
    Chart.Chart.ChartTitle.Text = "Sales Trend"
    
    ' এক্স অক্ষের নাম কাস্টমাইজ করুন
    Chart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
    Chart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Month"
    
    ' ওয়াই অক্ষের নাম কাস্টমাইজ করুন
    Chart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
    Chart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Revenue"
End Sub

Chart Elements কাস্টমাইজ করা

VBA দিয়ে আপনি আরো অনেক চার্ট এলিমেন্ট কাস্টমাইজ করতে পারবেন যেমন, Data Labels, Legend, Gridlines, ইত্যাদি।

Sub CustomizeChartElements()
    Dim Chart As ChartObject
    Dim DataRange As Range

    ' ডেটার রেঞ্জ সিলেক্ট করুন
    Set DataRange = Range("A1:B6")

    ' নতুন চার্ট তৈরি করুন
    Set Chart = ActiveSheet.ChartObjects.Add
    Chart.Chart.SetSourceData Source:=DataRange
    Chart.Chart.ChartType = xlBarClustered

    ' Data Labels যোগ করুন
    Chart.Chart.SeriesCollection(1).HasDataLabels = True
    Chart.Chart.SeriesCollection(1).DataLabels.NumberFormat = "#,##0"

    ' লেজেন্ড কাস্টমাইজ করুন
    Chart.Chart.HasLegend = True
    Chart.Chart.Legend.Position = xlLegendPositionBottom
    
    ' Gridlines কাস্টমাইজ করুন
    Chart.Chart.Axes(xlCategory).HasMajorGridlines = False
    Chart.Chart.Axes(xlValue).HasMajorGridlines = True
    Chart.Chart.Axes(xlValue).MajorGridlines.Border.Color = RGB(200, 200, 200)
End Sub

VBA দিয়ে Dynamic Chart তৈরি করা

VBA এর মাধ্যমে Dynamic Charts তৈরি করার জন্য আপনাকে ডেটার সেল রেঞ্জ অটোমেটিক্যালি আপডেট করতে হবে। এতে করে যখনই ডেটা পরিবর্তিত হবে, চার্টটি স্বয়ংক্রিয়ভাবে আপডেট হবে।

ধাপ:

  1. ডেটার রেঞ্জের পরিবর্তন সনাক্ত করুন:
    • Dynamic Chart এর জন্য ডেটা রেঞ্জের পরিবর্তন সনাক্ত করতে Named Ranges বা Excel Tables ব্যবহার করা যেতে পারে।
  2. VBA কোড লিখুন:
    উদাহরণস্বরূপ, একটি Dynamic Chart তৈরি করতে:

    Sub CreateDynamicChart()
        Dim Chart As ChartObject
        Dim DataRange As Range
        
        ' টেবিলের ডেটা রেঞ্জ সিলেক্ট করুন
        Set DataRange = Range("SalesData[Month]:SalesData[Revenue]")
        
        ' নতুন চার্ট তৈরি করুন
        Set Chart = ActiveSheet.ChartObjects.Add
        Chart.Chart.SetSourceData Source:=DataRange
        Chart.Chart.ChartType = xlLine
        
        ' Chart Title কাস্টমাইজ করুন
        Chart.Chart.HasTitle = True
        Chart.Chart.ChartTitle.Text = "Monthly Sales Revenue"
    End Sub
    
  3. Chart Update:
    আপনি ডেটা পরিবর্তন করার পর Dynamic Chart অটোমেটিক্যালি আপডেট হবে, কারণ Named Range বা Excel Table এর মাধ্যমে ডেটা রেঞ্জ নির্ধারণ করা হয়েছে।

VBA দিয়ে Interactive Chart তৈরি করা

VBA ব্যবহার করে আপনি Interactive Charts তৈরি করতে পারেন, যেমন ড্রপডাউন মেনু বা স্লাইডার ব্যবহার করে চার্টের বিভিন্ন ভ্যারিয়েবল পরিবর্তন করা।

ধাপ:

  1. Form Controls তৈরি করুন:
    • Excel এর Developer ট্যাব থেকে Insert > Combo Box বা Slider ব্যবহার করুন।
  2. VBA কোড লিখুন:
    একটি ড্রপডাউন মেনু ব্যবহার করে বিভিন্ন ডেটার ভিত্তিতে চার্টের তথ্য পরিবর্তন করার জন্য VBA কোড লেখুন।
Sub UpdateChartBasedOnSelection()
    Dim Chart As ChartObject
    Dim selectedOption As String
    
    ' ড্রপডাউন থেকে নির্বাচিত অপশন পান
    selectedOption = ActiveSheet.Shapes("ComboBox1").ControlFormat.List(ActiveSheet.Shapes("ComboBox1").ControlFormat.Value)
    
    ' চার্ট আপডেট করুন
    Set Chart = ActiveSheet.ChartObjects("Chart1")
    If selectedOption = "Option 1" Then
        Chart.Chart.SetSourceData Source:=Range("DataOption1")
    ElseIf selectedOption = "Option 2" Then
        Chart.Chart.SetSourceData Source:=Range("DataOption2")
    End If
End Sub

উপসংহার

VBA ব্যবহার করে Excel Charts তৈরি এবং কাস্টমাইজেশন করা একটি শক্তিশালী ও কার্যকরী টুল যা স্বয়ংক্রিয়ভাবে চার্ট তৈরির প্রক্রিয়াকে আরও সহজ ও দ্রুত করে তোলে। VBA দিয়ে আপনি চার্টের বিভিন্ন উপাদান যেমন শিরোনাম, এক্স এবং ওয়াই অক্ষ, ডাটা লেবেল, রঙ ইত্যাদি কাস্টমাইজ করতে পারবেন। এছাড়াও, Dynamic Charts এবং Interactive Charts তৈরি করে আপনার ডেটা ভিজ্যুয়ালাইজেশনকে আরও শক্তিশালী এবং ব্যবহারকারীর জন্য উপযোগী করে তুলতে পারবেন।


Content added By
Promotion

Are you sure to start over?

Loading...