কম্পিউটার টিউটোরিয়াল

VBA ব্যবহার করে সারি সংখ্যা অনুযায়ী এক্সেল ওয়ার্কশিটকে একাধিক শিটে স্বয়ংক্রিয়ভাবে ভাগ করা

সহজ গণনার জন্য কখনও কখনও সারি সংখ্যা অনুযায়ী এক্সেল শিটকে একাধিক শিটে ভাগ করার প্রয়োজন হয়। এই আর্টিকেলে আমরা Microsoft Excel VBA কোড ব্যবহার করে একটি সুন্দর উদাহরণ ও ব্যাখ্যা দিয়ে তা কিভাবে করবেন তা শিখব।

প্র্যাকটিস ওয়ার্কবুক

নিচের ওয়ার্কবুকটি ডাউনলোড করে এক্সারসাইজ করুন।

সারি অনুযায়ী এক্সেল শিটকে একাধিক শিটে ভাগ করার Excel VBA

VBA (Visual Basic for Application) মাইক্রোসফট এক্সেলের জন্য সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষাগুলোর একটি। ইউজার-ডিফাইন্ড ফাংশন ডেভেলপ করার জন্য আমরা এক্সেল VBA ব্যবহার করতে পারি। এটি শেখা এবং প্রয়োগ করা খুব সহজ।

ভাগ করার শিটটির পরিচয় যা একাধিক শিটে ভাগ হবে

ধরি আমাদের একটি ডেটাসেট (B4:C10) আছে কর্মচারীদের ওয়ার্কিং আওয়ারসহ Sheet1-এ। আমরা এই শিটকে একাধিক শিটে ভাগ করব। প্রতিটি শিটে দুটি সারি থাকবে।

ধাপ ১: এক্সেল শিটকে একাধিক শিটে ভাগ করার জন্য VBA উইন্ডো চালু করা

  • প্রথমে শিটবার থেকে ওয়ার্কশিটটি সিলেক্ট করুন।
  • এরপর শিটে right-click করুন।
  • View Code-এ ক্লিক করুন।

ধাপ ২: VBA কোড টাইপ ও রান করা

  • একটি VBA Module উইন্ডো খুলবে। এটি কীবোর্ড শর্টকাট 'Alt + F11' দিয়েও খোলা যায়।
  • এখন নিচের কোডটি টাইপ করুন:
Sub SplitSheet() 
    Dim Rng As Range 
    Dim xRow As Range 
    Dim SplitRow As Integer 
    Dim xSheet As Worksheet 
    On Error Resume Next 
    xTitleId = "ExcelSplit" 
    Set Rng = Application.Selection 
    Set Rng = Application.InputBox("Range", xTitleId, Rng.Address, Type:=8) 
    SplitRow = Application.InputBox("Row Number Split", xTitleId, 5, Type:=1) 
    Set xSheet = Rng.Parent 
    Set xRow = Rng.Rows(1) 
    Application.ScreenUpdating = False 
    For i = 1 To Rng.Rows.Count Step SplitRow 
        resizeCount = SplitRow 
        If (Rng.Rows.Count - xRow.Row + 1) < SplitRow Then 
            resizeCount = Rng.Rows.Count - xRow.Row + 1 
        End If 
        xRow.Resize(resizeCount).Copy 
        Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count) 
        Application.ActiveSheet.Range("A1").PasteSpecial 
        Set xRow = xRow.Offset(SplitRow) 
    Next 
    Application.CutCopyMode = False 
    Application.ScreenUpdating = True 
End Sub
  • তারপর Run অপশনে ক্লিক করুন অথবা সরাসরি F5 কী চাপুন কোড রান করতে।

ধাপ ৩: সারি অনুযায়ী শিট ভাগ করার জন্য ম্যাক্রো নাম দিয়ে রান করা

  • একটি কনফারমেশন Macros উইন্ডো পপ আপ হবে।
  • এরপর শিটের নাম সিলেক্ট করে Run-এ ক্লিক করুন।

ধাপ ৪: ডেটা রেঞ্জ সিলেক্ট করা

  • ExcelSplit Range ডায়লগ বক্সে ডেটার রেঞ্জ নির্দিষ্ট করুন এবং OK চাপুন।

ধাপ ৫: প্রতিটি শিটে দেখানো সারি সংখ্যা নির্দিষ্ট করা

  • আবার ExcelSplit Row Number Split ডায়লগ বক্সে ভাগ করার সারি সংখ্যা লিখুন এবং OK চাপুন। এখানে আমরা ' 2 ' লিখেছি।

সারি অনুযায়ী একাধিক এক্সেল শিটের চূড়ান্ত আউটপুট

  • শেষে আমরা দেখতে পাচ্ছি যে মেইন শিট একাধিক শিটে ভাগ হয়েছে। প্রতিটি শিটে দুটি সারি রয়েছে।

আরও পড়ুন: কলাম ভ্যালুর ভিত্তিতে এক্সেল শিটকে একাধিক শিটে ভাগ করার পদ্ধতি

উপসংহার

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

সম্পর্কিত পঠন

  • এক্সেলে স্প্লিট স্ক্রিন করার ৩ উপায়
  • এক্সেলে শিট আলাদা করার ৬টি কার্যকর উপায়
  • এক্সেল শিটকে একাধিক ফাইলে ভাগ করার ৩টি দ্রুত পদ্ধতি
  • এক্সেলে শিটগুলোকে আলাদা ওয়ার্কবুকে ভাগ করা (৪ পদ্ধতি)
  • VBA কোড ব্যবহার করে ওয়ার্কবুককে আলাদা এক্সেল ফাইলে ভাগ করার পদ্ধতি
  1. বিদ্যমান এক্সেল শীটে সিএসভি ইম্পোর্ট: ৫টি প্রমাণিত পদ্ধতি

  2. ক্রাইটেরিয়া অনুযায়ী এক্সেল রোকে কলামে ট্রান্সপোজ করুন: ২টি প্রমাণিত পদ্ধতি

  3. একাধিক CSV ফাইল সহজে আলাদা এক্সেল শিটে মাইয়ার্জ করুন – ধাপে ধাপে গাইড

  4. এক্সেল ওয়ার্কবুকে একাধিক CSV ফাইল সুস্পষ্টভাবে কম্বাইন করুন – ধাপে ধাপে গাইড