এক্সেল ওয়ার্কবুকের সমস্ত শীটে থাকা মানগুলি খুঁজে পাওয়ার কোনও উপায় কী?


0

আমার কাছে একটি এক্সেল ওয়ার্কবুক রয়েছে যাতে 60 টি ট্যাব রয়েছে। আমার সমস্ত ট্যাবগুলিতে বিদ্যমান কোনও মান মুছে ফেলতে হবে। আমি এই কাজ করতে পারে কোন ফাংশন বা কোন উপায় আছে?


কঠিন এক. আমি ভেবেছিলাম আপনাকে সমস্ত ওয়ার্কশিট লুপ করতে কিছু ভিবিএ লিখতে হবে, জনসংখ্যার কোষের সংখ্যক সংখ্যা সহ ওয়ার্কশিটটি খুঁজে বের করতে হবে, তারপরে সেই শীটের প্রতিটি জনবহুল ঘরের জন্য, অন্য কার্যপত্রকের সমস্ত কক্ষের মধ্য দিয়ে লুপ হবে (এটি না হওয়া পর্যন্ত) টি মানটি খুঁজে পাবেন না - যার অর্থ আপনি পরবর্তী জনবহুল ঘরটি পরীক্ষা করতে এগিয়ে যেতে পারেন)
অ্যান্ডি মোহর

একটি কক্ষে একাধিক মান কি আছে ??
গ্যারি এর শিক্ষার্থী

আমি এর আগে কখনও লুপ তৈরি করিনি, তবে এই ধরণের অর্থটি বোঝায়। আমি এই সাইটটি পেয়েছি যা সম্ভবত এটির মাধ্যমে আমাকে চলতে সক্ষম হতে পারে: Excel-easy.com/vba/loop.html । একটি কলামে চার্জের নাম এবং অন্যটিতে একটি কোড (নম্বর) রয়েছে। আমি উভয় এর সন্ধান বন্ধ করতে পারে।
কাকি কানিংহাম

আপনি যা করার চেষ্টা করছেন তা আমি সম্পূর্ণ পরিষ্কার করছি না - সমস্ত কার্যপত্রকটিতে প্রতিটি ব্যবহৃত সেল মুছবেন? প্রতিটি ওয়ার্কশিট থেকে একটি নির্দিষ্ট মান মুছবেন? সমস্ত মানপত্রকটিতে যদি কোনও মান থাকে তবে তা মুছবেন?
ওয়ার্ফ

মানটি যদি সমস্ত ওয়ার্কশিটে বিদ্যমান থাকে তবে মুছুন। প্রত্যুত্তরের জন্য সবাইকে ধন্যবাদ!
ক্যাসি কানিংহাম

উত্তর:


0

কয়েকটি অপশন আছে; একটি বিকল্প হ'ল একটি ফর্মুলা ব্যবহার করে দেখার জন্য যে সমস্ত কার্যপত্রকটিতে মান বিদ্যমান আছে, তবে নিজে থেকে এটি সরিয়ে / প্রতিস্থাপন ব্যবহার করে যদি তা হয় তা মুছে ফেলুন। আমি এই বিকল্পের অনুরাগী নই।

আমার সুপারিশটি হ'ল ফাইলের সমস্ত কার্যপত্রকটি লুপ করতে ফর ফর লুপের সাথে একটি ম্যাক্রো ব্যবহার করুন এবং মানটি পাওয়া গেছে কিনা তা পরীক্ষা করে দেখুন; যদি এটি সমস্ত শিটগুলিতে পাওয়া যায়, সেই ঘরগুলি সাফ করুন। আমরা এরকম কিছু করব:

Sub ClearAll()
    Const csValue As String = "Test"    'This is the value we're looking for


    Dim rngFound() As Range 'This is a list of all the cells containing the value
    Dim i As Integer    'This is a counter for the list
    Dim shtSheet As Worksheet   'This is an individual sheet
    Dim bolAll As Boolean   'This is a flag to indicate whether the value is in all sheets


    ReDim rngFound(1 To ActiveWorkbook.Sheets.Count)    'Size the list to the number of sheets
    bolAll = True   'Assume we will find the value in all sheets
    For Each shtSheet In ActiveWorkbook.Sheets  'Loop through each sheet
        Set rngFound(shtSheet.Index) = shtSheet.Cells.Find(what:=csValue) 'Look for the value in this worksheet
        If rngFound(shtSheet.Index) Is Nothing Then 'Check whether a match was found
            bolAll = False  'If a match wasn't found, change the flag and exit the loop
            Exit For
        End If
    Next shtSheet

    If bolAll Then  'If the value was on all sheets
        For i = 1 To UBound(rngFound)   'Loop through each flagged cell...
            rngFound(i).ClearContents   '...and delete its contents
        Next i
    End If
End Sub

এই কোডটি ব্যবহার করতে, কীবোর্ডে Alt + F11 টিপুন বা ফিতাটির বিকাশকারী ট্যাবে গিয়ে এবং "ভিজ্যুয়াল বেসিক" নির্বাচন করে ভিজ্যুয়াল বেসিক সম্পাদকটি খুলুন। ভিজ্যুয়াল বেসিক সম্পাদকের বাম-প্যানেতে আপনার কার্যপত্রকের প্রবেশের উপর ডান ক্লিক করুন এবং "সন্নিবেশ" -> "মডিউল:

এখানে চিত্র বর্ণনা লিখুন

উপরের কোডটি অনুলিপি করুন এবং এটিকে নতুন মডিউল উইন্ডোতে আটকান। আপনি এখন এটি অ্যাক্সেস করতে এবং আপনার ম্যাক্রো ইন্টারফেস থেকে চালাতে পারেন। আপনি যে কোডটি অনুসন্ধান করছেন তার সাথে আপনি এই কোডের দ্বিতীয় লাইনে "টেস্ট" প্রতিস্থাপন করতে চাইবেন। আমাদের সেই মানটি পরিবর্তনের অন্যান্য উপায়ও রয়েছে, যদি আপনাকে একাধিক মান সহ এটি করতে হয় - আপনার কী প্রয়োজন তা আমাকে জানান।

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