Microsoft Excel একটি অটোফিল্টার সরানোর একাধিক উপায় অফার করে৷ একটি ওয়ার্কশীট থেকে অথবা একটি এক্সেল টেবিল। এই নিবন্ধে, আপনি 7 শিখবেন একটি স্বয়ংক্রিয় ফিল্টার বিদ্যমান থাকলে তা সরানোর পদ্ধতি VBA স্ক্রিপ্ট ব্যবহার করে এক্সেলে
আপনি নিচের লিঙ্ক থেকে এক্সেল ফাইলটি ডাউনলোড করতে পারেন এবং এর সাথে অনুশীলন করতে পারেন।
অটোফিল্টার অপসারণ করতে VBA ব্যবহার করার 7 উদাহরণ যদি এটি Excel এ বিদ্যমান থাকে
1. সক্রিয় ওয়ার্কশীট থেকে স্বয়ংক্রিয় ফিল্টার সরান যদি এটি বিদ্যমান থাকে
নিম্নলিখিত স্ক্রিনশটটি একটি অটোফিল্টার দেখায়৷ সক্রিয় ওয়ার্কশীট-এ কর্মরত আমরা এই অটোফিল্টার সরিয়ে দেব VBA ব্যবহার করে কোড।
আপনি যদি একটি অটোফিল্টার সরাতে চান৷ সক্রিয় ওয়ার্কশীট থেকে তারপর নিচের ধাপগুলো অনুসরণ করুন:
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Public Sub RemoveAFActiveWorksheet()
If ActiveSheet.AutoFilterMode Then
ActiveSheet.AutoFilterMode = False
End If
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- এখানে, আমি একটি সাব প্রসিডিউর তৈরি করেছি পাবলিক সাব রিমুভAFAactive ওয়ার্কশীট
- এরপর, আমি একটি IF স্টেটমেন্ট ব্যবহার করেছি আছে আছে কিনা তা পরীক্ষা করতে যেকোনো অটোফিল্টার যদি অস্তিত্ব থাকে এটি অটোফিল্টার সরিয়ে দেবে যেমন আমি AutoFilterMode সেট করেছি মিথ্যা থেকে .
❺ সক্রিয় ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ ম্যাক্রো RemoveAFAactiveWorksheet নির্বাচন করুন এবং রান টিপুন বোতাম।
এখন আপনি অটো ফিল্টার দেখতে পাবেন সরানো হয়েছে এবং সমস্ত ডেটা দৃশ্যমান এখন।
আরো পড়ুন: অটোফিল্টার চালু আছে কিনা তা পরীক্ষা করতে এক্সেল VBA (4টি সহজ উপায়)
2. সমস্ত ওয়ার্কশীট থেকে অটোফিল্টার মুছে ফেলার জন্য VBA ব্যবহার করে
নিচের ছবিটি দেখুন। আপনি অটোফিল্টার দেখতে পারেন৷ উভয় ওয়ার্কশীটে প্রয়োগ করা হয়। এখন আমরা VBA লিখব একটি অটোফিল্টার সরাতে কোড সমস্ত কার্যপত্রক থেকে একটি ওয়ার্কবুকে .
একটি ওয়ার্কবুকের সমস্ত ওয়ার্কশীট থেকে অটোফিল্টার মুছে ফেলতে নিচের ধাপগুলো অনুসরণ করুন:
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Public Sub DeleteAFfromallWorksheets()
Dim xWs1 As Worksheet
For Each xWs1 In ActiveWorkbook.Worksheets
If xWs1.AutoFilterMode = True Then
xWs1.AutoFilterMode = False
End If
Next xWs1
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- এখানে, আমি একটি লুপের জন্য ব্যবহার করেছি অনুসন্ধান করতে অটোফিল্টার -এর জন্য প্রতিটি ওয়ার্কশীটে৷৷
- এরপর, আমি একটি IF স্টেটমেন্ট ব্যবহার করেছি আছে আছে কিনা তা পরীক্ষা করতে একটি যদি অবস্থিত এটি অটোফিল্টার সরিয়ে দেবে যেমন আমি ActiveSheet.AutoFilterMode সেট করেছি মিথ্যা থেকে .
❺ আপনার ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ ম্যাক্রো RemoveAFfromallWorksheets নির্বাচন করুন এবং রান টিপুন বোতাম।
এখন আপনি দেখতে পাবেন সব অটোফিল্টার আইকন সরানো হয়েছে সমস্ত কার্যপত্রক থেকে আপনার ওয়ার্কবুকে ঠিক নিচের ছবির মত:
3. একটি টেবিলের একক কলাম থেকে অটোফিল্টার সাফ করুন
নীচের ছবিতে, আপনি দেখতে পাচ্ছেন যে অটোফিল্টার ৷ শুধুমাত্র প্রথম কলামে প্রয়োগ করা হয় টেবিলের এই পদ্ধতিতে, আমরা একটি কলাম থেকে অটোফিল্টার সাফ করতে কোড লিখব। এক্সেলের একটি টেবিলের।
এটি করতে,
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ এখন কপি করুন নিম্নলিখিত VBA কোড।
Sub DeleteAFSingleColumnfromTable()
Dim xWs1 As Worksheet
Dim xTableName1 As String
Dim xLT1 As ListObject
xTableName1 = "TableA"
Set xWs1 = Sheets("MyTable1")
Set xLT1 = xWs1.ListObjects(xTableName1)
xLT1.Range.AutoFilter Field:=1
End Sub
❹ এর পরে, পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- প্রথম, আমি 3টি ভেরিয়েবল ঘোষণা করেছি।
- তারপর আমি টেবিলের নাম সন্নিবেশ করেছি এবং সেট শীট নাম .
- এর পরে, আমি ListObjects ব্যবহার করেছি সম্পত্তি দৃশ্যমান করতে সমস্ত সামগ্রী একটি টেবিল এর .
- শেষে, আমি ইনপুট aটেবিল কলাম সূচী অটোফিল্টার ক্ষেত্র ব্যবহার করে
❺ আপনার ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ টেবিল থেকে ম্যাক্রো রিমুভAFSingleColumn নির্বাচন করুন এবং রান টিপুন বোতাম।
এর পরে, আপনি অটোফিল্টার দেখতে পাবেন৷ প্রথম কলামে আর নেই৷ আপনার টেবিলের।
4. একটি টেবিলের একাধিক কলাম থেকে অটোফিল্টার সরান
নিচের ছবিটি দুটি অটোফিল্টার দেখায় প্রথমে আইকন এবং দ্বিতীয় একটি টেবিলের কলাম। আপনি অটোফিল্টার সরাতে এই পদ্ধতিটি অনুসরণ করতে পারেন৷ দুটি কলাম থেকে একটি টেবিল VBA ব্যবহার করে .
এখন এটি একাধিক কলাম থেকে বিদ্যমান থাকলে স্বয়ংক্রিয় ফিল্টার সাফ করতে নীচের পদক্ষেপগুলি অনুসরণ করুন একটি এক্সেল টেবিলে।
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Sub DeleteAFMultiColumnsfromTable()
Dim xWs1 As Worksheet
Dim xTableName1 As String
Dim xLT1 As ListObject
xTableName1 = "TableA"
Set xWs1 = Sheets("MyTable1")
Set xLT1 = xWs1.ListObjects(xTableName1)
xLT1.Range.AutoFilter Field:=1
xLT1.Range.AutoFilter Field:=2
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- প্রথম, আমি 3টি ভেরিয়েবল ঘোষণা করেছি।
- তারপর আমি টেবিলের নাম সন্নিবেশ করেছি এবং সেট শীট নাম .
- এর পরে, আমি ListObjects ব্যবহার করেছি সম্পত্তি দৃশ্যমান করতে সমস্ত সামগ্রী একটি টেবিল এর .
- শেষে, আমি ইনপুট দুটিটেবিল কলাম সূচী অটোফিল্টার ক্ষেত্র ব্যবহার করে
❺ এখন, ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ সারণি থেকে ম্যাক্রো মুছে ফেলুন AF মাল্টি কলাম নির্বাচন করুন এবং রান টিপুন বোতাম।
কোডটি চালানোর পরে, আপনি অটোফিল্টার দেখতে পাবেন সরানো হয়েছে একাধিক কলাম থেকে৷৷
আরো পড়ুন: [ফিক্স]:রেঞ্জ ক্লাসের অটোফিল্টার পদ্ধতি ব্যর্থ (5টি সমাধান)
5. এক্সেল VBA
ব্যবহার করে একটি সম্পূর্ণ টেবিল থেকে স্বয়ংক্রিয় ফিল্টার সাফ করুনআপনার যদি অটোফিল্টার থাকে নীচের ছবির মতো আপনার টেবিলে প্রয়োগ করুন এবং সরাতে চান৷ তাদের সব, তারপর এই পদ্ধতির সাথে যান।
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Sub RemoveAFfromEntireTable()
Dim xWs1 As Worksheet
Dim xTable1 As String
Dim xTable2 As ListObject
xTable1 = "TableB"
Set xWs1 = ActiveSheet
Set xTable2 = xWs1.ListObjects(xTable1)
xTable2.AutoFilter.ShowAllData
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- প্রথম, আমি 3টি ভেরিয়েবল ঘোষণা করেছি।
- তারপর আমি টেবিলের নাম সন্নিবেশ করেছি পরবর্তী সেট শীট নাম ActiveSheet হিসেবে .
- এর পরে, আমি ListObjects ব্যবহার করেছি সম্পত্তি দৃশ্যমান করতে সমস্ত সামগ্রী একটি টেবিল এর এবং সেট ব্যবহার করেছে এটিকে xTable2-এ সংরক্ষণ করার বিবৃতি
- শেষে, আমি ShowAllData ব্যবহার করেছি অটোফিল্টার বন্ধ করতে সম্পত্তি .
❺ ওয়ার্কশীটে ফিরে যান একটি টেবিল আছে এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ ম্যাক্রো RemoveAFfromEntireTable নির্বাচন করুন এবং রান টিপুন বোতাম।
এখন অটোফিল্টার সরানো হবে সমগ্র টেবিল থেকে ঠিক নিচের ছবির মত:
6. পাসওয়ার্ড সুরক্ষিত ওয়ার্কশীট থেকে অটোফিল্টার মুছুন যদি বিদ্যমান থাকে
নীচের ছবিতে দেখানো নিম্নলিখিত ডেটাসেটটি অটোফিল্টার সক্রিয় করা হয়েছে এবং একটি পাসওয়ার্ড দিয়ে সুরক্ষিত . যা হল 7878 .
এই পদ্ধতিতে, আপনি একটি VBA কোড পাবেন সাফ করতে আউটঅটোফিল্টার একটি পাসওয়ার্ড-সুরক্ষিত ওয়ার্কশীট থেকে এইরকম।
এখন নিচের ধাপগুলো অনুসরণ করুন:
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Sub RemoveAFwithPass()
Dim UserPwd As String
UserPwd = "7878"
With ActiveSheet
.Unprotect Password:=UserPwd
.ShowAllData
.Protect _
Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True, _
Password:=UserPwd
End With
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- প্রথম, আমি একটি পরিবর্তনশীল ঘোষণা করেছি এবং পাসওয়ার্ড ইনপুট করুন।
- তারপর ActiveSheet-এ , আমি ব্যবহারকারীর পাসওয়ার্ড বরাদ্দ করেছি অরক্ষিত পাসওয়ার্ড-এ
- ব্যবহার করা হয়েছে ShowAllData সবকিছু লুকানোর জন্য সম্পত্তি।
- তারপর আমি True বরাদ্দ করেছি সামগ্রীতে , ফিল্টার করার অনুমতি দিন , এবং Only UserInterface অরক্ষিত করতে তাদের সব।
❺ পাসওয়ার্ড-সুরক্ষিত ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ ম্যাক্রো RemoveAFwithPass নির্বাচন করুন এবং রান টিপুন বোতাম।
এর পরে, অটোফিল্টার সরানো হবে এবং সমস্ত রেকর্ড দৃশ্যমান হবে এই মত:
7. পাসওয়ার্ড ছাড়া সুরক্ষিত ওয়ার্কশীট থেকে স্বয়ংক্রিয় ফিল্টার সরাতে VBA এর ব্যবহার
নিচের ছবিটি একটি সুরক্ষিত ডেটাসেট দেখায় একটি পাসওয়ার্ড ছাড়া . এই পদ্ধতিতে, আমরা অটোফিল্টার সরাতে একটি কোড লিখব একটি পাসওয়ার্ডহীন সুরক্ষিত থেকে ওয়ার্কশীট।
এখন নিচের ধাপগুলো অনুসরণ করুন:
❶ প্রথমে ALT + F11 টিপুন VBA সম্পাদক খুলতে
❷ তারপর ঢোকান এ যান>> মডিউল .
❸ কপি করুন নিম্নলিখিত VBA কোড।
Sub RemoveAFwithoutPass()
With ActiveSheet
.Unprotect
.ShowAllData
.Protect _
Contents:=True, _
AllowFiltering:=True, _
UserInterfaceOnly:=True
End With
End Sub
❹ পেস্ট করুন এবং সংরক্ষণ করুন VBA এডিটর-এ কোড
কোডের ব্রেকডাউন
- প্রথম, আমি এর সাথে প্রয়োগ করেছি ActiveSheet-এ বিবৃতি এবং অসংরক্ষিত ব্যবহার করা হয়েছে আনলক করার জন্য সম্পত্তি
- তারপর, আমি ShowAllData ব্যবহার করেছি সবকিছু লুকানোর জন্য সম্পত্তি।
- তারপর আমি True বরাদ্দ করেছি সামগ্রীতে , ফিল্টার করার অনুমতি দিন , এবং Only UserInterface তাদের সকলকে অরক্ষিত করতে।
❺ সক্রিয় ওয়ার্কশীটে ফিরে যান এবং ALT + F11 টিপুন ম্যাক্রো খুলতে ডায়ালগ বক্স।
❻ ম্যাক্রো RemoveAFwithoutPass নির্বাচন করুন এবং রান টিপুন বোতাম।
অবশেষে, অটোফিল্টার পরিষ্কার করা হবে এবং সমস্ত ডেটা দৃশ্যমান হবে এই মত:
অভ্যাস বিভাগ
প্রদত্ত এক্সেল ফাইলের শেষে আপনি নিম্নলিখিত স্ক্রিনশটের মতো একটি এক্সেল শীট পাবেন। যেখানে আপনি এই নিবন্ধে আলোচনা করা সমস্ত পদ্ধতি অনুশীলন করতে পারেন।
উপসংহার
সংক্ষেপে, আমরা আলোচনা করেছি 7 অটোফিল্টারটি বিদ্যমান থাকলে তা সরানোর পদ্ধতি এক্সেলে VBA ব্যবহার করে। আপনাকে এই নিবন্ধটির সাথে সংযুক্ত অনুশীলন ওয়ার্কবুকটি ডাউনলোড করার এবং এর সাথে সমস্ত পদ্ধতি অনুশীলন করার পরামর্শ দেওয়া হচ্ছে। এবং নীচের মন্তব্য বিভাগে কোন প্রশ্ন জিজ্ঞাসা করতে দ্বিধা করবেন না। আমরা যত তাড়াতাড়ি সম্ভব প্রাসঙ্গিক প্রশ্নের উত্তর দেওয়ার চেষ্টা করব। এবং অনুগ্রহ করে আমাদের ওয়েবসাইট Exceldemy দেখুন আরো অন্বেষণ করতে।
সম্পর্কিত প্রবন্ধ
- এক্সেলের একই ক্ষেত্রে একাধিক মানদণ্ড সহ অটোফিল্টার থেকে VBA (4টি পদ্ধতি)
- How to Autofilter Values Not Equal to a Certain Value with VBA in Excel
- VBA Autofilter:Sort Smallest to Largest (3 Methods)
- How to Autofilter and Copy Visible Rows with Excel VBA