সুচিপত্র
এই নিবন্ধে, আমরা এক্সেল VBA-তে স্ট্রিংকে নম্বরে রূপান্তর করার বিভিন্ন পদ্ধতি নিয়ে আলোচনা করব। আমরা দেখব কীভাবে বিল্ট-ইন ফাংশনগুলি ব্যবহার করতে হয় এবং VBA কোড উদাহরণ সহ স্ট্রিংকে নম্বরে রূপান্তর করতে সেগুলি ব্যবহার করে একটি কাস্টম ফাংশন তৈরি করতে হয়৷
অভ্যাস ওয়ার্কবুক ডাউনলোড করুন
আপনি এই নিবন্ধটি পড়ার সময় অনুশীলন করার জন্য এই অনুশীলনের ওয়ার্কবুকটি ডাউনলোড করুন৷
স্ট্রিংকে Number.xlsm এ রূপান্তর করুন
স্ট্রিংকে নম্বরে রূপান্তর করার ৩টি উপায় এক্সেল VBA এ
1. টাইপ কনভার্সন ফাংশন ব্যবহার করে স্ট্রিংকে নম্বরে রূপান্তর করুন
এক্সেল বিভিন্ন বিল্ট-ইন টাইপ কনভার্সন ফাংশন প্রদান করে। স্ট্রিং ডেটাটাইপ থেকে বিভিন্ন ডেটাটাইপে সহজেই রূপান্তর করতে আমরা আমাদের VBA কোডে ব্যবহার করতে পারি।
1.1 স্ট্রিং পূর্ণসংখ্যা
স্ট্রিং এ রূপান্তর করতে integer , আমরা আমাদের কোডে CInt ফাংশন ব্যবহার করতে পারি। CInt ফাংশন শুধুমাত্র একটি আর্গুমেন্ট নেয় এবং এটি একটি সংখ্যাসূচক মান হওয়া উচিত। ভিজ্যুয়াল কোড এডিটরে নিচের কোডটি চেষ্টা করা যাক।
7048
চালানোর জন্য চালতে F5 টিপুন কোড । আউটপুট MsgBox এ দেখানো হয়েছে।
CInt ফাংশন রূপান্তরিত সংখ্যাসূচক স্ট্রিং মান (“12.3” ) একটি পূর্ণসংখ্যা 12.
CInt ফাংশন সম্পর্কে আরও বুঝতে, নিম্নলিখিতটি চালান কোড এডিটরে কোড এবং দেখুন ফলাফল ।
9990
এখানে আউটপুট আছেঅনুসরণ করা স্ক্রিনশট ।
কোড ব্যাখ্যা
এই কোডটিতে, আমরা ব্যবহার কর এর জন্য… পরবর্তী লুপ সেলের স্ট্রিংগুলিতে CInt ফাংশন প্রয়োগ করতে B3:B7। সেলে আউটপুট মুদ্রিত হয় C3:C7। ইনপুট মান এবং আউটপুট মান কোথায় প্রিন্ট করতে হবে তা নির্দিষ্ট করতে আমরা সেল ফাংশন ব্যবহার করেছি।
ফলাফল
CInt ফাংশন 25.5 কে পরবর্তী পূর্ণসংখ্যা 26 -এ রূপান্তরিত করেছে। অন্যদিকে, এটি 10.3 কে 10 এ রূপান্তরিত করেছে, 11 নয়। যখন একটি দশমিক সাংখ্যিক মান .5 এর কম হয়, তখন ফাংশনটি একই সংখ্যায় বৃত্তাকার হয়। কিন্তু দশমিক সাংখ্যিক স্ট্রিং মান পরবর্তী পূর্ণসংখ্যা সংখ্যাতে পরিণত হয় যদি এটি সমান হয় বা .5 এর চেয়ে বেশি।
দ্রষ্টব্য
পূর্ণসংখ্যার মানটির -32,768 থেকে 32,767 এর মধ্যে একটি পরিসর রয়েছে। যদি আমরা একটি সাংখ্যিক মান রাখি যা এই পরিসরের বাইরে , এক্সেল একটি ত্রুটি দেখাবে।
1.2 স্ট্রিং টু লং
CLng ফাংশন একটি সাংখ্যিক স্ট্রিং মানকে লং ডেটাটাইপ এ রূপান্তর করে। এটি CInt ফাংশনের অনুরূপভাবে কাজ করে। মূল পার্থক্যটি এর পরিসীমা এর মধ্যে রয়েছে যা -2,147,483,648 এবং 2,147,483,647।
The code to run is here below:5639
এখানে, কোষগুলি B3:B9 কিছু সংখ্যাসূচক স্ট্রিং মান ধারণ করে, এবং রূপান্তরিত l অং সংখ্যাগুলি সেলে রয়েছে C3:C9. CLng ফাংশন রূপান্তরিত -32800 এবং 32800 সফলভাবে দীর্ঘ সংখ্যায় যা CInt ফাংশন পারেনি। কিন্তু এটি একটি ত্রুটি ও পাবে যদি ইনপুট সংখ্যাসূচক মান পরিসীমার বাইরে হয়।
1.3 দশমিকে স্ট্রিং
CDec ফাংশন ব্যবহার করে আমরা রূপান্তর করতে পারি a সংখ্যাসূচক স্ট্রিং মান থেকে একটি দশমিক ডেটাটাইপ। নিম্নলিখিত কোডটি রূপান্তর করতে কক্ষে সংখ্যাসূচক মান চালান B3:B7 দশমিক ডেটাটাইপে।
4708
1.4 স্ট্রিং টু সিঙ্গেল
এই উদাহরণে, আমরা ইনপুট স্ট্রিংগুলিকে একক ডেটাটাইপ (একক -নির্ভুল ফ্লোটিং পয়েন্ট) সংখ্যা। এর জন্য, আমাদের CSng ফাংশন ব্যবহার করতে হবে।
একক ডেটাটাইপ রেঞ্জ- (i) -3.402823E38 থেকে -1.401298E-45 নেতিবাচক সংখ্যার জন্য।
(ii) 1.401298E-45 থেকে 3.402823E38 এর জন্য পজিটিভ সংখ্যা।
ভিজ্যুয়াল বেসিক এডিটরে নিচের কোডটি চালান।
4822
আউটপুটে, সেল B3:B9 কিছু সংখ্যাসূচক স্ট্রিং মান রয়েছে, এবং রূপান্তরিত একক ডেটাটাইপ নম্বর সেলে রয়েছে C3:C9। তবে এটি একটি ত্রুটিও পাবে যদি ইনপুট সাংখ্যিক মান হয় সীমার বাইরে।
1.5 স্ট্রিং টু ডাবল
এই উদাহরণে, আমরা ইনপুট স্ট্রিংগুলিকে ডাবল ডেটাটাইপ (ডাবল-প্রিসিশন ফ্লোটিং) এ পরিণত করব -পয়েন্ট) সংখ্যা। এই জন্য, আমাদের প্রয়োজন CDbl ফাংশন ব্যবহার করতে।
ডাবল ডেটাটাইপ রেঞ্জ- (i) -1.79769313486231E308 থেকে -4.94065645841247E-324 <3 এর জন্য>ঋণাত্মক সংখ্যা।
(ii) 4.94065645841247E-324 থেকে 1.79769313486232E3 <4 পজিটিভ> পজিটিভ> নম্বর .
ভিজ্যুয়াল বেসিক এডিটরে নিম্নলিখিত কোডটি চালান।
3126
আউটপুটে, সেল B3:B9 কিছু থাকে সংখ্যাসূচক স্ট্রিং মান এবং রূপান্তরিত ডাবল ডেটাটাইপ নম্বরগুলি সেলে রয়েছে C3:C9। কিন্তু এটি একটি ত্রুটিও পাবে যদি ইনপুট সংখ্যাসূচক মান সীমার বাইরে।
1.6 স্ট্রিং টু কারেন্সি
মুদ্রার ডেটা টাইপ কার্যকর যখন গণনা টাকা এর সাথে সম্পর্কিত হয়। তাছাড়া, আমরা যদি স্থির – পয়েন্ট গণনা -এ আরও নির্ভুলতা চাই, মুদ্রার ডেটা টাইপ ব্যবহার একটি ভাল পছন্দ। একটি স্ট্রিংকে কারেন্সি ডেটা টাইপ এ রূপান্তর করতে আমাদের CCur ফাংশন ব্যবহার করতে হবে। ডেটা টাইপ রেঞ্জ -922,337,203,685,477.5808 থেকে 922,337,203,685,477.5808 পর্যন্ত।
কোড রূপান্তর সাংখ্যিক st. কক্ষগুলির 4> B3:B7 থেকে মুদ্রার ডেটা টাইপ কক্ষে C3:C7 নীচে এখানে রয়েছে।
4707
<1
1.7 স্ট্রিং থেকে বাইট
CByte ফাংশন সংখ্যাসূচক স্ট্রিং মানগুলিকে বাইট ডেটা টাইপ এ রূপান্তর করে যা থেকে রেঞ্জ হয় 0 থেকে 255।
কোড এর মতোঅনুসরণ করে :
2580
আউটপুটে, সেল B3:B9 কিছু সংখ্যাসূচক স্ট্রিং মান, এবং রূপান্তরিত বাইট ডেটা টাইপ নম্বর সেলে রয়েছে C3:C9। কিন্তু এটি একটি ত্রুটিও পাবে যদি ইনপুট সাংখ্যিক মান হয় সীমার বাইরে৷
আরো পড়ুন: কিভাবে এক্সেলে VBA ব্যবহার করে স্ট্রিংকে লং-এ রূপান্তর করা যায়
একই রকম রিডিং
- এক্সেল VBA-তে স্ট্রিংকে দ্বিগুণে রূপান্তর করুন (5 পদ্ধতি)
- এক্সেল ভিবিএ (ম্যাক্রো সহ 3টি উদাহরণ) দিয়ে কীভাবে পাঠ্যকে নম্বরে রূপান্তর করবেন
- এক্সেলে নম্বরে রূপান্তর ত্রুটি ঠিক করুন (6 পদ্ধতি)
- বৈজ্ঞানিক স্বরলিপিকে কিভাবে এক্সেলে নম্বরে রূপান্তর করতে হয় (7 পদ্ধতি)
2. কাস্টম VBA ফাংশন ব্যবহার করে এক্সেলে স্ট্রিংকে নম্বরে চেক করতে এবং রূপান্তর করতে
এই উদাহরণে, আমরা রূপান্তর করার জন্য একটি কাস্টম ফাংশন তৈরি করতে যাচ্ছি সংখ্যার স্ট্রিং আমরা তারপর বিল্ট-ইন ফাংশনের মত আমাদের ওয়ার্কশীটে এই কাস্টম ফাংশন ব্যবহার করতে পারি। এই উদাহরণে, আমরা কাস্টম ফাংশন তৈরি করার সময় CInt ফাংশন স্ট্রিংগুলিকে পূর্ণসংখ্যা তে রূপান্তর করতে ব্যবহার করব। আমরা পদ্ধতি 1 তে বর্ণিত অন্যান্য ফাংশনগুলি স্ট্রিংগুলিকে কে বিভিন্ন ডেটা প্রকারে রূপান্তর করতেও ব্যবহার করতে পারি। এখন, এটি সম্পন্ন করতে নিচের ধাপগুলি অনুসরণ করুন৷
পদক্ষেপগুলি:
- এখানে, সেলগুলিতে B3:B7, আমাদের কিছু আছে সংখ্যাসূচক স্ট্রিংমান।
- এখন, ভিজ্যুয়াল বেসিক এডিটরে, কপি করুন এবং পেস্ট করুন নিম্নলিখিত কোড এবং তারপরে সেভ করতে Ctrl + S টিপুন
3332
- সেলে C3 , টাইপ করা শুরু করুন ফাংশনের নাম ( StringToNumber )। এক্সেল স্বয়ংক্রিয়ভাবে ফাংশন ব্যবহার করার পরামর্শ দেবে। ফাংশনটি প্রবেশ করতে ট্যাব কী টিপুন৷
- সেল রেফারেন্স B3 রাখুন একমাত্র যুক্তি হিসেবে।
- এখন, বন্ধনী বন্ধ করার পর এন্টার টি চাপুন।
- প্রয়োগ করতে ডান নীচের কোণায় সেলের C3 ফিল হ্যান্ডেল সনাক্ত করুন সেলে ফাংশন C4:C7.
- চূড়ান্ত আউটপুট হল স্ট্রিং মানগুলি থেকে প্রদত্ত পূর্ণসংখ্যা সংখ্যা .
3. VBA কোড এক্সেলের একটি নির্বাচিত পরিসরকে নম্বরে রূপান্তর করার জন্য পূর্ণসংখ্যার স্ট্রিং মান রয়েছে। যদি কোনো ঘরে অ-সংখ্যার মান থাকে, তাহলে আউটপুট হবে একটি ড্যাশ (-) লাইন এর পরিবর্তে । পদক্ষেপ অনুসরণ করুন:
- কক্ষগুলি নির্বাচন করুন B3:B6 সংখ্যাসূচক স্ট্রিং মান এবং B7 যেটিতে রয়েছে একটি নন-সংখ্যাসূচক
- ভিজ্যুয়াল বেসিক এডিটরে কপি এবং নিচের পেস্ট করুন কোড ।
7394
- এখন, চালাতে আউটপুট তে যেমন দেখানো হয়েছে F5 টিপুন নিম্নলিখিত স্ক্রিনশট ।
নোটস
- আমরা ব্যবহার করেছি isNumeric ফাংশন আমাদের VBA কোডে ২য় এবং ৩য় পদ্ধতি এ যা একটি এক্সপ্রেশনকে সংখ্যায় রূপান্তরিত করা যায় কিনা তা পরীক্ষা করে।
- পদ্ধতিতে। 1 , আমরা বিল্ট-ইন ফাংশন (CInt, CDbl, CSng…..) ব্যবহার করেছি সংখ্যাসূচক স্ট্রিং মানকে সংখ্যা তে রূপান্তর করতে। কিন্তু যদি একটি অ-সংখ্যাসূচক মান থাকে তবে এটি একটি অমিল ত্রুটি দেখাবে।
উপসংহার
এখন, আমরা জানি কিভাবে স্ট্রিং মানগুলিকে এক্সেলে সংখ্যায় রূপান্তর করতে হয়। আশা করি, এটি আপনাকে আরও আত্মবিশ্বাসের সাথে এই কার্যকারিতা ব্যবহার করতে উত্সাহিত করবে। যেকোন প্রশ্ন বা পরামর্শ নিচের কমেন্ট বক্সে রাখতে ভুলবেন না।