ভিবিএ অবজেক্ট প্রয়োজনীয় | এক্সেল ভিবিএতে অবজেক্টের প্রয়োজনীয় ত্রুটি কীভাবে ঠিক করা যায়?

এক্সেল ভিবিএতে অবজেক্টের প্রয়োজন

ভুলগুলি কোডিং ভাষার অংশ এবং পার্সেল তবে আসল প্রতিভা ত্রুটিটি সন্ধান করতে এবং সেই ত্রুটিগুলি সমাধান করার মধ্যে lies এই ত্রুটিগুলি ঠিক করার প্রথম পদক্ষেপটি হ'ল ত্রুটিগুলি কেন ঘটছে তা আবিষ্কার করার বুদ্ধি। যদি আপনি খুঁজে পেতে পারেন যে এই ত্রুটিগুলি কেন আসছে তবে ঘাম না ভাঙিয়ে এই ত্রুটিগুলি ঠিক করা খুব সহজ কাজ। ভিবিএ কোডিংয়ে এ জাতীয় একটি ত্রুটি হ'ল "অবজেক্ট আবশ্যক"।

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

অবজেক্টে প্রয়োজনীয় ত্রুটি কেন ঘটে? (এবং… কীভাবে এটি ঠিক করবেন?)

ঠিক আছে, এই ত্রুটি কেন ঘটে এবং এটি কীভাবে সংশোধন করা যায় তা সত্যই বুঝতে দুটি বা তিনটি উদাহরণ লাগে।

আপনি এই ভিবিএ অবজেক্টটি প্রয়োজনীয় এক্সেল টেম্পলেটটি এখানে ডাউনলোড করতে পারেন - ভিবিএ অবজেক্টের প্রয়োজনীয় এক্সেল টেম্পলেট

উদাহরণস্বরূপ নীচের কোডটি দেখুন।

কোড:

 সাব লাস্ট_রো () ডিম ডাব্লু ওয়ার্কশিট হিসাবে ডিম ডাব্লুএস ওয়ার্কশিট হিসাবে ডিম মাইডোডে তারিখ সেট ডাব্লু বিবি = এই ওয়ার্কবুক সেট ডাব্লুএস = এই ওয়ার্কবুকস (ওয়ার্ল্ডশিট) "ডেটা") মাইটোডে = ডাব্লু ডাব্লুডব্লিউএস.সেলস (1, 1) এমএসজিবক্স মাইটডে এন্ড সাব 

আমাকে আপনার জন্য উপরের কোডটি ব্যাখ্যা করতে দিন।

আমি তিনটি ভেরিয়েবল ঘোষণা করেছি এবং প্রথম দুটি ভেরিয়েবলগুলি "ওয়ার্কবুক" এবং "ওয়ার্কশিট" অবজেক্টগুলিকে উল্লেখ করে। তৃতীয় পরিবর্তনশীল "তারিখ" ডেটা টাইপ বোঝায়।

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

 Wb = এই ওয়ার্কবুক সেট করুন
 Ws = এই ওয়ার্কবুক. ওয়ার্কশিটস ("ডেটা") সেট করুন
  • "তারিখ" ডেটা টাইপ ভেরিয়েবলের জন্য পরবর্তী লাইনেও আমি এই ওয়ার্কবুক (ডাব্লুবি) এবং ওয়ার্কশিটে "ডেটা" (ডাব্লু) তে সেল এ 1 মানটির মূল্য নির্ধারণ করতে "সেট" কীওয়ার্ডটি ব্যবহার করেছি।
 MyToday = Wb.Ws.Cells সেট করুন (1, 1)
  • পরের লাইনে, আমরা ভিবিএর বার্তা বাক্সে ঘর "এ 1 মান" এর ভেরিয়েবলের মানটি দেখাব।
MsgBox MyToday
  • ঠিক আছে, এই কোডটি চালানো যাক এবং ফলাফল হিসাবে আমরা কী পাই তা দেখুন।

আপনি উপরে দেখতে পাচ্ছেন এটি ভিবিএ ত্রুটি বার্তা হিসাবে দেখায় "বস্তুর প্রয়োজন"। ঠিক আছে, কেন আমরা এই ত্রুটি বার্তা পাচ্ছি তা পরীক্ষা করার সময় its

  • কোড বিভাগে উপরের ত্রুটি বার্তা চিত্রটিতে ত্রুটি বার্তাটি দেখানোর সময় এটি নীল রঙের সাথে কোডটির ত্রুটি অংশটি হাইলাইট করেছে।

  • সুতরাং, প্রশ্নটি রয়ে গেল যে আমরা কেন এই ত্রুটিটি পেয়েছি। আমাদের প্রথমে আমাদের দেখতে হবে এটি নির্দিষ্ট ভেরিয়েবল ডেটা টাইপ। কোডের পূর্বের লাইনে ফিরে যান যেখানে আমরা ডেটা টাইপটি ভ্যারিয়েবল "মাইডেট" এর জন্য নির্ধারিত করেছি।

  • আমরা ভেরিয়েবল ডেটা টাইপটিকে “তারিখ” হিসাবে অর্পণ করেছি এবং এখন আবার ত্রুটি লাইনে ফিরে আসি।

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

সুতরাং, নীচের লাইনটি "সেট" কীওয়ার্ডটি কেবলমাত্র ওয়ার্কশিট, ওয়ার্কবুক ইত্যাদির মতো বস্তুর ভেরিয়েবলগুলি উল্লেখ করতে ব্যবহৃত হয় ...

উদাহরণ # 1

এখন নীচের কোডটি দেখুন।

কোড:

 সাব অবজেক্ট_প্রয়োজনীয়_আরার () রেঞ্জ ("এ 101")। মান = অ্যাপ্লিকেশন 1. ওয়ার্কশিট ফাংশন.সুম (রেঞ্জ ("এ 1: এ 100")) শেষ সাব 

উপরের কোডে, আমরা A1 থেকে A100 পর্যন্ত মোট মানক কক্ষগুলি পেতে ওয়ার্কশিট ফাংশন "এসইউএম" ব্যবহার করেছি। আপনি এই কোডটি চালানোর সময় আমরা ত্রুটির নীচে মুখোমুখি হব।

উফ !! এটি "রান-টাইম ত্রুটি‘ 424 ’বলে: অবজেক্ট আবশ্যক।

এখন কোডটি এখনই নিবিড়ভাবে দেখি।

"অ্যাপ্লিকেশন" ব্যবহার করার পরিবর্তে আমরা ভুলভাবে "অ্যাপ্লিকেশন 1" ব্যবহার করেছি, সুতরাং এটি ভিবিএ কোডে "অবজেক্ট আবশ্যক" এর ত্রুটির মুখোমুখি।

যদি "অপশন এক্সপ্লিক্ট" শব্দটি সক্ষম করা থাকে তবে আমরা "পরিবর্তনশীল নয় সংজ্ঞায়িত" ত্রুটিটি পেয়ে যাব।

মনে রাখার মতো ঘটনা

  • অবজেক্ট আবশ্যক মানে অবজেক্ট ডেটা টাইপের রেফারেন্সটি সঠিক হওয়া দরকার।
  • কোডিংয়ে অপশন স্পষ্ট শব্দটি সক্ষম না করা হয়ে গেলে আমরা ভুল বানানযুক্ত ভেরিয়েবল শব্দের জন্য অবজেক্ট প্রয়োজনীয় ত্রুটিটি পেয়ে যাব এবং অপশন স্পেসিফিক সক্ষম করা থাকলে আমরা ভুল বানানযুক্ত ভেরিয়েবল শব্দের জন্য পরিবর্তনশীল নয় সংজ্ঞায়িত ত্রুটি পেয়ে যাব।