একাধিক ওয়ার্কশীট থেকে একই কলামগুলির সাথে ডেকে একীভূত করুন তবে এক্সেলের বিভিন্ন সংখ্যক সারি


0

আমার বেশ কয়েকটি ওয়ার্কশিট সহ একটি এক্সেল ওয়ার্কবুক রয়েছে। তাদের সবার একই কলামের নাম রয়েছে। তবে সারিগুলির সংখ্যা শীট থেকে শীটে আলাদা হয় to আমি একটি ওভারভিউ শীট তৈরি করতে চাই যেখানে আমি প্রতিটি একক শীট থেকে সমস্ত ডেটা দেখতে পারি। আমি প্রতিটি শীটে একটি খালি অনুলিপি করতে এবং প্রতিটি শিটের ডেটা দিয়ে দ্বিতীয় সারি থেকে শেষ সারিতে ডেটা আটকে দিতে পারি। তবে আমি মনে করি এটি করার আরও সহজ উপায় আছে?

আপনার সাহায্যের জন্য ধন্যবাদ!


আপনি কি একীকরণ বৈশিষ্ট্যটি ব্যবহার করার চেষ্টা করেছেন ?
চার্লিআরবি

উত্তর:


1

এটি ভিবিএ ব্যবহার করে একটি সমাধান:

Public Sub overview()
    resultsheet = "Overview"
    Dim wkb As Workbook
    Dim wks, wks1 As Worksheet
    Set wkb = ThisWorkbook
    On Error GoTo SheetError:
        Set wks1 = wkb.Sheets(resultsheet)
    destrow = 1
    totalcolumn = 1
    totalwks = wkb.Sheets.Count
    For i = 1 To totalwks
        Set wks = wkb.Sheets(i) 'Iterate over all sheets
        wksname = wks.Name
        If wksname <> resultsheet Then 'Exclude the overview sheet
            rowdata = True
            columndata = True
            thisrow = 2
            thiscolumn = 1
            totalempty = 0
            While rowdata = True
                If i = 1 Then 'First sheet section
                    a = wks.Cells(thisrow - 1, thiscolumn)
                    If a <> "" Then
                        wks1.Cells(destrow, thiscolumn) = a
                        thiscolumn = thiscolumn + 1
                    Else
                        If thisrow = 2 Then
                            totalcolumn = thiscolumn
                        End If
                        totalempty = totalempty + 1
                        If totalempty = totalcolumn Then
                            rowdata = False
                        End If
                        If thiscolumn = totalcolumn Then
                            thisrow = thisrow + 1
                            thiscolumn = 1
                            destrow = destrow + 1
                            totalempty = 0
                        End If
                    End If
                Else ' Any other Sheet section
                    a = wks.Cells(thisrow, thiscolumn)
                    If a <> "" Then
                        rowdata = True
                        wks1.Cells(destrow, thiscolumn) = a
                        thiscolumn = thiscolumn + 1
                    Else
                        totalempty = totalempty + 1
                        If totalempty = totalcolumn Then
                            rowdata = False
                        End If
                        If thiscolumn = totalcolumn Then
                            thisrow = thisrow + 1
                            thiscolumn = 1
                            destrow = destrow + 1
                            totalempty = 0
                        End If


                    End If
                End If
            Wend

        End If
    Next i
    Exit Sub
SheetError:
    If Err.Number = 9 Then
        createwks = MsgBox("Worksheet " & resultsheet & " doesn't exist" & vbCrLf & "Do you want to create it?", vbYesNo, Error)
    End If
    If createwks = 6 Then
        Set wks1 = wkb.Worksheets.Add(After:=Worksheets(Worksheets.Count))
        wks1.Name = resultsheet
        Resume
    End If
End Sub

আপনাকে এই ওয়ার্কবুকটিতে ম্যাক্রোস / ভিবিএ খুলতে হবে একটি মডিউল and োকাতে হবে এবং এই কোডটি ডানদিকে পেস্ট করুন, তারপরে এটি সম্পাদন করুন এবং শেষ হয়ে গেলে ওভারভিউ নামক শিটের সামগ্রীগুলি পরীক্ষা করুন ।


0

আমি নিজেই এটি করতে হবে :)

আপনি এই সমাধানটি একবারে দেখতে পারেন (অবস্থান অনুসারে ডেটা একীকরণ করুন) , আপনি দেখতে পাবেন এটি একইরকম ওভারহেড:

প্রতিটি কার্যপত্রক যাতে আপনি একত্রীকরণ করতে চান এমন ডেটা রয়েছে, নিম্নলিখিতগুলি করে ডেটা সেট আপ করুন:

নিশ্চিত হয়ে নিন যে প্রতিটি রেঞ্জের ডেটা তালিকা ফর্ম্যাটে রয়েছে: প্রতিটি কলামের প্রথম সারিতে একটি লেবেল রয়েছে এবং একই রকম তথ্য রয়েছে এবং তালিকার মধ্যে কোনও ফাঁকা সারি বা কলাম নেই।

প্রতিটি পরিসরকে আলাদা ওয়ার্কশিটে রাখুন, তবে যেখানে আপনি একীকরণ করার পরিকল্পনা করছেন সেই কার্যপত্রকে কোনও ব্যাপ্তি রাখবেন না।

প্রতিটি পরিসরের একই বিন্যাস রয়েছে তা নিশ্চিত করুন।

মাস্টার ওয়ার্কশিটে, যেখানে আপনি একীভূত ডেটা প্রদর্শিত হতে চান সেই অঞ্চলের উপরের-বাম কক্ষে ক্লিক করুন।

দ্রষ্টব্য আপনি একত্রীকরণ করছেন এমন ডেটা দিয়ে গন্তব্য ওয়ার্কশিটে বিদ্যমান ডেটা ওভাররাইটিং এড়াতে, নিশ্চিত করে নিন যে একীভূত তথ্যের জন্য আপনি এই ঘরের ডানদিকে এবং নীচে পর্যাপ্ত পরিমাণে ঘর রেখেছেন।

... এবং এতক্ষণ ...


0

আমি এটি করার কোনও সুবিধা দেখছি না। আপনাকে কী করতে হবে তা আমি বলতে পারছি না, তবে আপনি যদি কয়েকটি শিটের ডেটা ভাগ করে নেন তবে আপনার অবশ্যই এটি করার কারণ থাকতে হবে। আপনার যদি কোনও কারণ থাকে তবে কেন একসাথে যোগদান করবেন? আমার কাছে এর কোন মানে নেই। ঠিক আছে, আমি যা করব তা হল, কেন আমাকে প্রথমে একসাথে দেখা দরকার? এটি কেবল কিছু খুঁজে পাওয়া শক্ত করে তোলে, অপেক্ষা করুন, হ্যাঁ, আপনি যদি এর নির্দিষ্ট সন্ধানের জন্য সম্পাদনা ফাংশনটি ব্যবহার করতে চান তবেই। তবে, আপনাকে কি অনেক বার করতে হবে? আমি যদি প্রতিটি শিটের সাথে সম্পর্কিত কিছু থাকে তবে তৈরি করব, প্রাক্তন জন্য, একটি এসএমএম বা অন্য জীবনবৃত্তান্ত এবং নতুন শীটে প্রতিটি পৃথক স্প্রেডশিটে সেই ক্ষেত্রটির জন্য একটি ক্রস রেফারেন্স তৈরি করব to পুরো ডেটা অনুলিপি না করে ডেটা একীভূত করতে শুধু একটি শীট। আপনি যদি একজন ভাল প্রোগ্রামার হন তবে এটি অনুলিপি করার জন্য প্রথম সমাধানটি সাহায্য করতে পারে তবে এটি এত সহজ নয়, আপনি দেখতে পাবেন. এবং সর্বশেষে, তবে কম নয়, প্রতিটি শিটটি যদি সারি সংখ্যায় বৃদ্ধি পায় তবে তা নিশ্চিত করুন, এসইএম বা অন্য যে কোনও কিছু শীর্ষ এবং ডানদিকে রয়েছে, যাতে শীটটি বৃদ্ধি পায় তবে একীভূত ডেটা প্রভাবিত হয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.