আপনার ম্যাক্রো কোডটি বিরতি দিতে এক্সেল ভিবিএ স্লিপ ফাংশন

এক্সেল ভিবিএ স্লিপ ফাংশন

ভিবিএ ঘুম ফাংশন হ'ল উইন্ডোজ ডিএলএল ফাইলগুলির অধীনে উপস্থিত একটি উইন্ডোজ ফাংশন যা ম্যাক্রো প্রক্রিয়াটিকে নির্দিষ্ট সময়ের জন্য চালানো থেকে বিরত বা বিরতি দেওয়ার জন্য ব্যবহৃত হয় যা আমরা নির্দিষ্ট পরিমাণের পরে প্রোগ্রামটি আবার শুরু করতে পারি।

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

ভিবিএ স্লিপ ফাংশন কী করে?

নাম হিসাবে স্লিপ নিজেই "কিছু সময়ের জন্য ঘুম", "কিছু সময়ের জন্য বিশ্রাম", "কিছু সময়ের জন্য বিরতি", কিছু সময়ের জন্য ছুটি "ইত্যাদি বলেছে S স্লিপ ফাংশনটি ব্যবহারকারীদেরকে আমাদের ম্যাক্রো কোডটি কয়েক মিনিটের জন্য বিরতি দেয় allows এটি ব্যবহার করে আমরা ম্যাক্রো কোড প্রক্রিয়াটি বিলম্ব করতে পারি।

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

নীচে ভিবিএ কোড রয়েছে।

কোড:

# যদি ভিবিএ 7 এর পরে জনসাধারণ পিটিআরসেফ সাব স্লিপ লিব "কর্নেল 32" (বাইওয়াল ডাব্লিমিলিসেকেন্ড হিসাবে লংপিআরটি) 'এক্সেল এর অন্য 64৪-বিট সংস্করণের জন্য # অন্য পাবলিক ডিক্লেয়ার সাব স্লিপ লিব "কার্নেল 32" (বাইওয়াল ডিডব্লিউমিলিসেকেন্ডগুলি দীর্ঘ হিসাবে) এর 32-বিট সংস্করণের জন্য এক্সেল # শেষ যদি 

উপরের অনুলিপি করুন এবং ম্যাক্রো কোডগুলি লেখা শুরু করার আগে আপনার মডিউলে পেস্ট করুন। এটি আপনার মডিউলে এটি আটকানো উচিত।

উদাহরণ

কোডটি লেখার উপায়টি দেখানোর আগে আমি আপনাকে ঘুমের কার্যকারিতা সম্পর্কে আরও কিছু বলি tell এটি মিলিসেকেন্ডে প্রক্রিয়াটি বিলম্ব করে। সুতরাং 1 সেকেন্ডটি 1000 মিলিসেকেন্ডের সমান, আপনি যদি 10 সেকেন্ডের জন্য বিরতি দিতে চান তবে এটি 10000 মিলিসেকেন্ড হওয়া উচিত।

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

উদাহরণ # 1

সাব প্রক্রিয়া শুরুর আগে একবার এপিআই কোড পেস্ট হয়ে গেলে একটি ম্যাক্রো নাম তৈরি করুন।

কোড:

# উপ ঘুম_এক উদাহরণ 1 () শেষ সাব 

দুটি ভেরিয়েবল একটি স্ট্রিং হিসাবে ঘোষণা করুন।

কোড:

 স্ট্রিং হিসাবে ডিম স্টার্টটাইম স্টিম হিসাবে ডিম এন্ডটাইম 

জন্য সময় শুরু ভেরিয়েবল TIME ফাংশনের মান নির্ধারণ করে। বিঃদ্রঃ: TIME এক্সেল ফাংশনে বর্তমান সময়টি ফেরত দেয়।

কোড:

স্টার্টটাইম = সময়

এখন আমরা এই বার্তাটি বার্তা বাক্স ভিবিএতে প্রদর্শন করব।

কোড:

স্টার্টটাইম = সময় এমএসজিবক্স স্টার্টটাইম

এখন আমরা ঘুমের ফাংশনটি ব্যবহার করে কোডটি 10 ​​সেকেন্ডের জন্য বিরতি দেব। যেমনটি আমি বলেছিলাম এটি কোডটি মিনিসেকেন্ডে বিরতি দেয় তাই 10 সেকেন্ডের জন্য বিরতি রাখতে আমাদের 10000 মিলিসেকেন্ড ব্যবহার করতে হবে।

কোড:

 সাব স্লিপ_এক্স্পামাল 1 () স্ট্রিং স্টার্টটাইম হিসাবে ডিম স্টার্টটাইম স্টিম হিসাবে ডিম এন্ডটাইম = টাইম এমএসজিবক্স স্টার্টটাইম স্লিপ (10000) এন্ড সাব 

এখন দ্বিতীয় পরিবর্তনশীল এন্ডটাইম ব্যবহার করুন এবং বর্তমান সময় নির্ধারণ করুন।

কোড:

 সাব স্লিপ_এক্সেম্পল 1 () স্ট্রিং স্টার্টটাইম হিসাবে ডিম স্টার্টটাইম স্টিম হিসাবে ডিম এন্ডটাইম = টাইম এমএসবিবক্স স্টার্টটাইম স্লিপ (10000) এন্ডটাইম = টাইম এমএসজিবক্স এন্ডটাইম শেষ সাব 

এখন দুটি ভেরিয়েবল সময় শুরু এবং শেষ সময় ম্যাক্রো শুরুর সময় এবং শেষের সময় ধরে রাখবে। এই ম্যাক্রোটি চালান, প্রথমে আমরা ম্যাক্রো শুরুর সময়টি দেখতে পাব অর্থাৎ আপনার সিস্টেমে বর্তমান সময়।

ওকে ক্লিক করুন, এটি 10 ​​সেকেন্ডের জন্য ঘুমাবে। আপনি বাফার প্রতীক দেখতে পারেন।

10 সেকেন্ড পরে এটি কোডটি আবার শুরু করতে শুরু করবে, এটি শেষ সময়টি দেখায় অর্থাৎ এখনকার সময়টি 10 ​​সেকেন্ড অপেক্ষা করার পরে।

এখন আপনি দেখতে পাচ্ছেন ম্যাক্রোটি 10:54:14 এ শুরু হয়েছিল এবং 10:54:24 এ শেষ হয়েছে, ঠিক সেখানে 10 সেকেন্ডের পার্থক্য রয়েছে। এই 10 সেকেন্ডে, ভিবিএ কোডটি চলতে বিরতি দেয়।

উদাহরণ # 2 - লুপগুলিতে ঘুমের কার্য

ঘুমটি ভিবিএতে লুপগুলির সাথে সবচেয়ে ভাল ব্যবহৃত হয়। উদাহরণস্বরূপ, আমি ভিবিএতে লুপ লুপ ব্যবহার করে 1 থেকে 10 পর্যন্ত ক্রমিক সংখ্যা সন্নিবেশ করতে চাই।

এক নম্বর সন্নিবেশ করার পরে আমার কোডটি 3 সেকেন্ডের জন্য অপেক্ষা করা উচিত, সুতরাং যখন লুপটি 10 ​​বার চালিত হয় তখন তা মোট 30 সেকেন্ড হওয়া উচিত।

কোড:

 সাব ঘুম_একটি নমুনা 2 () ডি এম কে হিসাবে পূর্ণসংখ্যা হিসাবে কে = 1 করুন যখন কে <= 10 সেল (কে, 1)। মূল্য = কে কে = কে + 1 স্লিপ (3000) '1000 মিলিসেকেন্ড 1 সেকেন্ড তাই 3000 লুপ শেষের সমান সাব 

এই কোডটি চালান এবং প্রক্রিয়াটি শেষ করতে আপনাকে সর্বনিম্ন 30 সেকেন্ড অপেক্ষা করতে হবে।

সঠিক সময়টি অনুসরণ করতে নীচের কোডটি ব্যবহার করুন।

কোড:

 সাব স্লিপ_এক্সেম্পল 2 () স্টিম স্টিমটাইম হিসাবে স্টিমিং ডিম এন্ডটাইম হিসাবে ডিম কে ইন্টিজিওর ডিম স্টার্টটাইম = টাইম এমএসবক্স "আপনার কোড শুরু হয়েছে" এবং স্টার্টটাইম কে = 1 করুন যখন কে <= 10 সেল (কে, 1)। মূল্য = কে কে = কে + 1 স্লিপ (3000) '1000 মিলিসিন্ড 1 সেকেন্ড তাই 3000 সমান 3 সেকেন্ড 

এই কোডটি আপনাকে 2 বার্তা বাক্স প্রদর্শন করবে, প্রথমটি শুরুর সময় এবং দ্বিতীয়টি শেষ সময় প্রদর্শন করবে।

বিঃদ্রঃ: এই কোডটি চালনার সময়, আপনি এক্সেল ব্যবহার করতে পারবেন না, এমনকি পালানোর কীটিও কাজ করবে না।