এক্সেলে চার্ট অ্যানিমেশন সময়ের সাথে ডেটা পরিবর্তন দেখিয়ে ডেটাকে জীবন্ত করে, প্রেজেন্টেশনকে আরও আকর্ষণীয় করে, এবং দর্শকদের ট্রেন্ড ও প্যাটার্ন বুঝতে সাহায্য করে। অ্যানিমেটেড চার্ট মনোযোগ আকর্ষণ করে, বাধ্য করে দেয়া ডেটা গল্প বলে, এবং ট্রেন্ড সহজে দেখা যায়। এক্সেলে বিল্ট-ইন চার্ট অ্যানিমেশন ফিচার নেই; তবে সিম্পল, টাইমড ডিলে সহ টাইমড ম্যাক্রো ব্যবহার করে আপনি এটি অর্জন করতে পারেন।
এই টিউটোরিয়ালে, আমরা টাইমড ম্যাক্রো দিয়ে এক্সেলে চার্ট অ্যানিমেট করার পদ্ধতি দেখাব।
টাইমড ম্যাক্রো কী?
এক টাইমড ম্যাক্রো বিল্ট-ইন ডিলে বা পজ ব্যবহার করে তার অ্যাকশনের মাঝপথে। এই ম্যাক্রো আপনার চার্টে এক ডেটা পয়েন্ট যোগ করে, একাংশ সেকেন্ডের জন্য পজ করে, এবং তারপর পরবর্তীটি যোগ করে, চার্ট সম্পূর্ণ প্রস্থাপিত হওয়া পর্যন্ত পুনরাবৃত্তি করে। এই সিকোয়েন্স অ্যানিমেশনের সৃষ্টি করে!
অ্যানিমেটেড চার্ট용으로는:
- প্রেজেন্টেশন: ধাপে ধাপে তথ্য প্রকাশ করে, দর্শকদের আকৃষ্ট রাখে।
- রিপোর্ট: ডেটা বৃদ্ধি, ট্রেন্ড, বা তুলনা একটি স্মরণীয় উপায়ে হাইলাইট করে।
- ড্যাশবোর্ড: ডেটা পরিবর্তন হলে আপডেট হয় এমন ডাইনামিক ইফেক্ট যোগ করে।
ধাপ ১: আপনার ডেটা এবং চার্ট প্রস্তুত করুন
চলুন একটি মাসিক সেলস ডেটাসেট বিবেচনা করি চার্টের অ্যানিমেশন দেখাতে।
- সেল রেঞ্জ সিলেক্ট করুন (যেমন A1:B7)।
- Insert ট্যাবে যান > Charts থেকে Column Chart সিলেক্ট করুন (অথবা আপনার পছন্দের চার্ট টাইপ)।

- চার্টটি শিটে যেকোনো জায়গায় রাখুন এবং চার্ট নম্বর লক্ষ্য করুন।

ধাপ ২: VBA এডিটর খুলুন
- Developer ট্যাবে যান > Visual Basic সিলেক্ট করুন (অথবা ALT + F11 চাপুন)।
- Insert মেনুতে ক্লিক করুন > Module সিলেক্ট করুন।

নোট: আপনি যদি এক্সেলে Developer ট্যাব না দেখেন, তবে এটি এনেবল করুন। File > Options > Customize Ribbon > Developer টিক করুন > OK।
ধাপ ৩: অ্যানিমেশন ম্যাক্রো যোগ করুন (টাইমড ম্যাক্রো ব্যবহার করে)
চলুন একটি টাইমড ম্যাক্রো যোগ করি যা প্রতিটি স্টেপের মাঝপথে একটি ছোট পজসহ অ্যাকশন রান করে, একটি স্মুথ অ্যানিমেশন ইফেক্ট সৃষ্টি করে।
- নতুন তৈরি মডিউলে নিচের VBA কোড ইনসার্ট করুন।
VBA কোড:
Sub AnimateChart()
Dim i As Integer
Dim ChartData As Range
Dim ChartSeries As Series
Set ChartData = Sheets("Dataset").Range("B2:B7")
Set ChartSeries = Sheets("Dataset").ChartObjects(1).Chart.SeriesCollection(1)
' Clear initial data
ChartSeries.Values = ""
For i = 1 To ChartData.Rows.Count
ChartSeries.Values = Sheets("Sheet1").Range("B2").Resize(i, 1)
' Wait using DoEvents for smoother update
Pause 0.5 ' Pause half second
DoEvents ' Keep Excel responsive
Next i
End Sub
'Custom Pause function using Timer
Sub Pause(seconds As Single)
Dim start As Single
start = Timer
Do While Timer < start + seconds
DoEvents
Loop
End Sub

ব্যাখ্যা:
- এই কোড প্রথমে চার্ট ডেটা ক্লিয়ার করে।
- প্রতিটি লুপে চার্টে আরও একটি ডেটা পয়েন্ট যোগ করে।
- এই কোড একটি "টাইমড ম্যাক্রো" টেকনিক ব্যবহার করে: প্রতিটি আপডেটের পর, এটি কন্টিনিউ করার আগে Pause ফাংশন ব্যবহার করে সংক্ষেপে পজ করে।
- এই ডিলে ही চার্টকে অ্যানিমেট করে, ডেটা একসাথে না দেখিয়ে ধাপে ধাপে বিল্ড আপ होते দেখতে দেয়।
- এক্সেল রেসপন্সিভ রাখতে এবং ডিসপ্লে আপডেট করতে এটি DoEvents ব্যবহার করে।
ধাপ ৪: অ্যানিমেশন রান করুন
- VBA এডিটর সেভ এবং বন্ধ করে এক্সেলে ফিরে যান।
- Developer ট্যাবে যান > Macros সিলেক্ট করুন।
- Macros ডায়লগ বক্সে;
- AnimateChart সিলেক্ট করুন।
- Run ক্লিক করুন।

অ্যানিমেশন রান করার জন্য একটি বাটন যোগ করুন:
- Developer ট্যাবে যান > Insert > Button (Form Control) সিলেক্ট করুন।
- আপনার শিটে বাটন আঁকুন।
- সহজ রিপ্লের জন্য AnimateChart ম্যাক্রো এসাইন করুন!
- OK ক্লিক করুন।

- বাটনের নাম পরিবর্তন করুন Animate Chart।

- Animate Chart বাটনে ক্লিক করুন।
- আপনার চার্ট পয়েন্ট বাই পয়েন্ট বিল্ড होते দেখুন, এক্সেলে সরাসরি অ্যানিমেটেড।
ধাপ ৫: কাস্টমাইজেশন টিপস
অ্যানিমেশন স্পিড সমন্বয় করুন:
- Pause 0.5 কে ছোট বা বড় মানに変更 করুন:
- দ্রুত অ্যানিমেশনের জন্য Pause 0.2।
- धीमे ইফেক্টের জন্য Pause 1।
সঠিক চার্ট রেফারেন্স করুন:
- যদি একাধিক চার্ট থাকে, আপনার চার্ট নম্বর খুঁজুন:
- আপনার চার্টে ক্লিক করুন এবং Name Box-এ দেখুন (ফর্মুলা বারের বামে)।
যদি "Chart 2" বলে, তবে কোডে ChartObjects(2) ব্যবহার করুন। - অথবা, চার্টের নাম ব্যবহার করুন:
- আপনার চার্টে ক্লিক করুন এবং Name Box-এ দেখুন (ফর্মুলা বারের বামে)।
Set ChartSeries = Sheets("Sheet1").ChartObjects("Chart 2").Chart.SeriesCollection(1)
ট্রাবলশুটিং টিপস
- ম্যাক্রো রান হচ্ছে না: ম্যাক্রো এনেবল করুন:
- File > Options > Trust Center > Trust Center Settings > Macro Settings > Enable all macros।
- চার্ট আপডেট হচ্ছে না: সঠিক চার্ট অবজেক্ট এবং শিট নাম রেফার করছেন কিনা নিশ্চিত করুন।
- এক্সেল هنگ বা ফ্রিজ করছে: সর্বদা Application.Wait না করে DoEvents সহ Pause ফাংশন ব্যবহার করুন।
উপসংহার
উপরোক্ত ধাপগুলি অনুসরণ করে, আপনি টাইমড ম্যাক্রো দিয়ে এক্সেলে চার্ট অ্যানিমেট করতে পারেন। এক্সেলে অ্যানিমেটেড চার্ট স্ট্যাটিক ডেটাকে বাধ্য করে দেয়া ভিজ্যুয়াল গল্পে রূপান্তর করতে পারে। টাইমিং, চার্ট টাইপ, এবং ডেটাসেটের সাথে পরীক্ষা-নিরীক্ষা করুন আপনার জন্য পারফেক্ট অ্যানিমেশন তৈরি করতে। অভ্যাসের সাথে, আপনি পরিশ্কার অ্যানিমেটেড ড্যাশবোর্ড তৈরি করতে পারবেন যা আপনার ডেটাকে জীবন্ত করবে।