সমন্বয় নির্বাচন

আপনার একটি বড় মনিটর আছে, কিন্তু আপনি যে টেবিলগুলির সাথে কাজ করেন তা আরও বড়। এবং, প্রয়োজনীয় তথ্যের সন্ধানে স্ক্রিনের দিকে তাকিয়ে, সর্বদা আপনার চোখকে পরবর্তী লাইনে "স্লিপ" করার এবং ভুল দিকে তাকানোর সুযোগ থাকে। এমনকি আমি এমন লোকদেরও জানি যারা এই জাতীয় অনুষ্ঠানের জন্য, মনিটরের লাইনের সাথে সংযুক্ত করার জন্য একটি কাঠের শাসক সর্বদা তাদের কাছে রাখে। ভবিষ্যতের প্রযুক্তি! 

এবং যদি বর্তমান সারি এবং কলাম হাইলাইট করা হয় যখন সক্রিয় ঘরটি শীট জুড়ে চলে যায়? এই মত এক ধরনের সমন্বয় নির্বাচন:

শাসকের চেয়ে ভালো, তাই না?

এটি বাস্তবায়নের জন্য বিভিন্ন জটিলতার বিভিন্ন উপায় রয়েছে। প্রতিটি পদ্ধতির তার সুবিধা এবং অসুবিধা আছে। আসুন বিস্তারিতভাবে তাদের কটাক্ষপাত করা যাক.

পদ্ধতি 1. স্পষ্ট। ম্যাক্রো যা বর্তমান সারি এবং কলাম হাইলাইট করে

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

একটি টেবিলের সাথে একটি শীট খুলুন যেখানে আপনি এমন একটি সমন্বয় নির্বাচন পেতে চান। শীট ট্যাবে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে কমান্ডটি নির্বাচন করুন উৎস টেক্সট (সোর্স কোড).ভিজ্যুয়াল বেসিক এডিটর উইন্ডো খোলা উচিত। এই তিনটি ম্যাক্রোর এই পাঠ্যটি এতে অনুলিপি করুন:

Dim Coord_Selection বুলিয়ান হিসাবে 'গ্লোবাল ভেরিয়েবলের জন্য নির্বাচন অন/বন্ধ সাব সিলেকশান_অন()' ম্যাক্রো অন সিলেকশন Coord_Selection = True End Sub Selection_Off() 'Macro off Selection Coord_Selection = False End Sub' প্রধান পদ্ধতি যা নির্বাচন সম্পাদন করে ব্যক্তিগত সাব ওয়ার্কশীট_Selection-Selection পরিসর) পরিসীমা হিসাবে কাজরেঞ্জ ম্লান করুন যদি Target.Cells.Count > 1 তারপর সাব থেকে প্রস্থান করুন 'যদি 1 টির বেশি সেল নির্বাচন করা হয়, প্রস্থান করুন যদি Coord_Selection = False তারপর প্রস্থান করুন Sub' যদি নির্বাচন বন্ধ থাকে, প্রস্থান করুন Application.ScreenUpdating = False Set WorkRange = রেঞ্জ (" A6:N300") 'ওয়ার্কিং রেঞ্জের ঠিকানা যার মধ্যে নির্বাচন দৃশ্যমান  

কাজের পরিসরের ঠিকানা আপনার নিজের মত পরিবর্তন করুন – এই পরিসরের মধ্যেই আমাদের নির্বাচন কাজ করবে। তারপর ভিজ্যুয়াল বেসিক এডিটর বন্ধ করুন এবং এক্সেলে ফিরে আসুন।

কীবোর্ড শর্টকাট টিপুন ALT + F8উপলব্ধ ম্যাক্রোগুলির একটি তালিকা সহ একটি উইন্ডো খুলতে। ম্যাক্রো নির্বাচন_চালু, আপনি অনুমান করতে পারেন, বর্তমান শীটে সমন্বয় নির্বাচন এবং ম্যাক্রো অন্তর্ভুক্ত করে নির্বাচন_বন্ধ - এটি বন্ধ করে দেয়। একই উইন্ডোতে, বোতামে ক্লিক করে পরামিতি (বিকল্পসমূহ) সহজ লঞ্চের জন্য আপনি এই ম্যাক্রোগুলিতে কীবোর্ড শর্টকাট বরাদ্দ করতে পারেন৷

এই পদ্ধতির সুবিধা:

  • বাস্তবায়নের আপেক্ষিক সহজতা
  • নির্বাচন - অপারেশনটি নিরীহ এবং শীট কক্ষের বিষয়বস্তু বা বিন্যাস কোনোভাবেই পরিবর্তন করে না, সবকিছু যেমন আছে তেমনই থাকে

এই পদ্ধতির অসুবিধা:

  • এই ধরনের নির্বাচন সঠিকভাবে কাজ করে না যদি শীটে একত্রিত ঘর থাকে - ইউনিয়নে অন্তর্ভুক্ত সমস্ত সারি এবং কলাম একবারে নির্বাচন করা হয়
  • আপনি যদি ভুলবশত ডিলিট কী টিপেন, তবে শুধুমাত্র সক্রিয় সেলটিই সাফ হবে না, তবে সম্পূর্ণ নির্বাচিত এলাকাটি, অর্থাৎ সম্পূর্ণ সারি এবং কলাম থেকে ডেটা মুছে ফেলতে হবে।

পদ্ধতি 2. আসল। CELL + শর্তসাপেক্ষ ফর্ম্যাটিং ফাংশন

এই পদ্ধতিটি, যদিও এটির কয়েকটি ত্রুটি রয়েছে, আমার কাছে খুব মার্জিত বলে মনে হচ্ছে। শুধুমাত্র অন্তর্নির্মিত এক্সেল সরঞ্জামগুলি ব্যবহার করে কিছু বাস্তবায়ন করতে, ন্যূনতমভাবে ভিবিএ-তে প্রোগ্রামিংয়ে প্রবেশ করা হল অ্যারোবেটিক্স 😉

পদ্ধতিটি CELL ফাংশন ব্যবহারের উপর ভিত্তি করে তৈরি করা হয়েছে, যা একটি প্রদত্ত কক্ষে বিভিন্ন তথ্য দিতে পারে – উচ্চতা, প্রস্থ, সারি-কলাম নম্বর, সংখ্যা বিন্যাস ইত্যাদি। এই ফাংশনের দুটি আর্গুমেন্ট রয়েছে:

  • প্যারামিটারের জন্য একটি কোড শব্দ, যেমন "কলাম" বা "সারি"
  • ঘরের ঠিকানা যার জন্য আমরা এই প্যারামিটারের মান নির্ধারণ করতে চাই

কৌশলটি হল যে দ্বিতীয় যুক্তিটি ঐচ্ছিক। যদি এটি নির্দিষ্ট করা না থাকে, তাহলে বর্তমান সক্রিয় সেল নেওয়া হয়।

এই পদ্ধতির দ্বিতীয় উপাদান হল শর্তসাপেক্ষ বিন্যাস। এই অত্যন্ত দরকারী এক্সেল বৈশিষ্ট্যটি আপনাকে সেলগুলিকে স্বয়ংক্রিয়ভাবে ফর্ম্যাট করতে দেয় যদি তারা নির্দিষ্ট শর্ত পূরণ করে। যদি আমরা এই দুটি ধারণাকে একত্রিত করি, আমরা শর্তসাপেক্ষ বিন্যাসের মাধ্যমে আমাদের সমন্বয় নির্বাচন বাস্তবায়নের জন্য নিম্নলিখিত অ্যালগরিদম পাই:

  1. আমরা আমাদের টেবিল নির্বাচন করি, অর্থাৎ সেই ঘরগুলি যেখানে স্থানাঙ্ক নির্বাচন ভবিষ্যতে প্রদর্শিত হবে।
  2. এক্সেল 2003 এবং তার বেশি বয়সে, মেনু খুলুন বিন্যাস – শর্তসাপেক্ষ বিন্যাস – সূত্র (ফর্ম্যাট — শর্তসাপেক্ষ বিন্যাস — সূত্র). এক্সেল 2007 এবং আরও নতুন - ট্যাবে ক্লিক করুন হোম (বাড়ি)বোতাম শর্তসাপেক্ষ বিন্যাস - নিয়ম তৈরি করুন (শর্তগত বিন্যাস - নিয়ম তৈরি করুন) এবং নিয়মের ধরন নির্বাচন করুন কোন কক্ষগুলি বিন্যাস করতে হবে তা নির্ধারণ করতে একটি সূত্র ব্যবহার করুন (সূত্র ব্যবহার করুন)
  3. আমাদের স্থানাঙ্ক নির্বাচনের জন্য সূত্র লিখুন:

    =OR(সেল("সারি")=ROW(A2), CELL("কলাম")=COLUMN(A2))

    =OR(সেল(«সারি»)=ROW(A1), CELL(«কলাম»)=COLUMN(A1))

    এই সূত্রটি টেবিলের প্রতিটি ঘরের কলাম সংখ্যা বর্তমান ঘরের কলাম সংখ্যার সমান কিনা তা পরীক্ষা করে। একইভাবে কলামের সাথে। এইভাবে, শুধুমাত্র সেই ঘরগুলির মধ্যে একটি কলাম নম্বর বা একটি সারি নম্বর রয়েছে যা বর্তমান ঘরের সাথে মেলে৷ এবং এটি হল ক্রস-আকৃতির স্থানাঙ্ক নির্বাচন যা আমরা অর্জন করতে চাই৷

  4. প্রেস ফ্রেমওয়ার্ক (ফর্ম্যাট) এবং ফিল কালার সেট করুন।

সবকিছু প্রায় প্রস্তুত, কিন্তু একটি nuance আছে। আসল বিষয়টি হ'ল এক্সেল নির্বাচনের পরিবর্তনকে শীটে ডেটার পরিবর্তন হিসাবে বিবেচনা করে না। এবং, ফলস্বরূপ, এটি শুধুমাত্র সক্রিয় কক্ষের অবস্থান পরিবর্তিত হলেই সূত্রগুলির পুনঃগণনা এবং শর্তসাপেক্ষ বিন্যাসের পুনঃরংকরণ ট্রিগার করে না। অতএব, শীট মডিউলে একটি সাধারণ ম্যাক্রো যোগ করা যাক যা এটি করবে। শীট ট্যাবে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে কমান্ডটি নির্বাচন করুন উৎস টেক্সট (সোর্স কোড).ভিজ্যুয়াল বেসিক এডিটর উইন্ডো খোলা উচিত। এই সাধারণ ম্যাক্রোর এই পাঠ্যটি এতে অনুলিপি করুন:

প্রাইভেট সাব ওয়ার্কশীট_নির্বাচন পরিবর্তন (পরিসীমা হিসাবে বাইভাল টার্গেট) ActiveCell. শেষ সাব গণনা করুন  

এখন, নির্বাচন পরিবর্তন হলে, ফাংশনের সাথে সূত্রটি পুনঃগণনার প্রক্রিয়া চালু করা হবে সেল শর্তসাপেক্ষ বিন্যাসে এবং বর্তমান সারি এবং কলাম প্লাবিত করুন।

এই পদ্ধতির সুবিধা:

  • শর্তাধীন বিন্যাস কাস্টম টেবিল বিন্যাস ভঙ্গ করে না
  • এই নির্বাচন বিকল্পটি মার্জ করা কক্ষের সাথে সঠিকভাবে কাজ করে।
  • দুর্ঘটনাজনিত ক্লিকে ডেটার একটি সম্পূর্ণ সারি এবং কলাম মুছে ফেলার কোনও ঝুঁকি নেই৷ মুছে ফেলা.
  • ম্যাক্রো ন্যূনতম ব্যবহার করা হয়

এই পদ্ধতির অসুবিধা:

  • শর্তসাপেক্ষ বিন্যাসের সূত্রটি ম্যানুয়ালি লিখতে হবে।
  • এই ধরনের বিন্যাস সক্ষম/অক্ষম করার কোন দ্রুত উপায় নেই - নিয়মটি মুছে ফেলা না হওয়া পর্যন্ত এটি সর্বদা সক্রিয় থাকে।

পদ্ধতি 3. সর্বোত্তম। শর্তসাপেক্ষ বিন্যাস + ম্যাক্রো

গোল্ডেন মানে। আমরা পদ্ধতি-1 থেকে ম্যাক্রো ব্যবহার করে শীটে নির্বাচন ট্র্যাক করার পদ্ধতি ব্যবহার করি এবং পদ্ধতি-2 থেকে শর্তসাপেক্ষ বিন্যাস ব্যবহার করে এতে নিরাপদ হাইলাইটিং যোগ করি।

একটি টেবিলের সাথে একটি শীট খুলুন যেখানে আপনি এমন একটি সমন্বয় নির্বাচন পেতে চান। শীট ট্যাবে ডান-ক্লিক করুন এবং প্রসঙ্গ মেনু থেকে কমান্ডটি নির্বাচন করুন উৎস টেক্সট (সোর্স কোড).ভিজ্যুয়াল বেসিক এডিটর উইন্ডো খোলা উচিত। এই তিনটি ম্যাক্রোর এই পাঠ্যটি এতে অনুলিপি করুন:

বুলিয়ান সাব সিলেকশন_অন() Coord_Selection = True End Sub-Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange (ByVal Target As Range হিসাবে) Dim WorkRange as Range, CrossRange (Range7) = "SargeRange300" 'адрес рабочего диапазона с таблицей যদি Target.Count > 1 তারপর সাব থেকে প্রস্থান করুন যদি Coord_Selection = False তারপর WorkRange.FormatConditions. Delete Exit Sub End If Application.ScreenUpdating = Interecting না (Interectarget) তারপরে কাজ করা হয় না WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.Format.Conditions=Target.Conditions(1)। .Delete End যদি End Sub  

আপনার টেবিলের ঠিকানায় কাজের পরিসরের ঠিকানা পরিবর্তন করতে ভুলবেন না। ভিজ্যুয়াল বেসিক এডিটর বন্ধ করুন এবং এক্সেলে ফিরে যান। যোগ করা ম্যাক্রো ব্যবহার করতে, কীবোর্ড শর্টকাট টিপুন ALT + F8  এবং পদ্ধতি 1 এর মতো একইভাবে এগিয়ে যান। 

পদ্ধতি 4. সুন্দর. CellPointer অ্যাড-অন অনুসরণ করুন

নেদারল্যান্ডস থেকে Excel MVP Jan Karel Pieterse তার ওয়েবসাইটে একটি বিনামূল্যের অ্যাড-অন দেয়৷ সেলপয়েন্টার অনুসরণ করুন(36Kb), যা বর্তমান সারি এবং কলাম হাইলাইট করতে ম্যাক্রো ব্যবহার করে গ্রাফিক তীর রেখা অঙ্কন করে একই সমস্যার সমাধান করে:

 

চমৎকার সমাধান. জায়গাগুলিতে ত্রুটি ছাড়াই নয়, তবে অবশ্যই চেষ্টা করার মতো। সংরক্ষণাগারটি ডাউনলোড করুন, এটি ডিস্কে আনপ্যাক করুন এবং অ্যাড-অন ইনস্টল করুন:

  • এক্সেল 2003 এবং পুরোনো - মেনু মাধ্যমে পরিষেবা - অ্যাড-অন - ওভারভিউ (সরঞ্জাম — অ্যাড-ইনস — ব্রাউজ করুন)
  • এক্সেল 2007 এবং পরে, মাধ্যমে ফাইল - বিকল্প - অ্যাড-অন - যান - ব্রাউজ করুন (ফাইল — এক্সেল বিকল্প — অ্যাড-ইন — যান - ব্রাউজ করুন)

  • ম্যাক্রো কি, ভিজ্যুয়াল বেসিকে কোথায় ম্যাক্রো কোড ঢোকাতে হয়

 

নির্দেশিকা সমন্ধে মতামত দিন