VBA তে এক্সেল সেল বনাম রেঞ্জ ফাংশন বোঝা

VBA তে এক্সেল সেল বনাম রেঞ্জ ফাংশন বোঝা

এক্সেল শক্তিশালী। আপনি যদি এটি অনেক বেশি ব্যবহার করেন, আপনি সম্ভবত সূত্র বা অটোফরম্যাটিং ব্যবহার করে অনেক কৌশল জানেন, কিন্তু ব্যবহার করছেন কোষ এবং পরিসীমা VBA- এ ফাংশন, আপনি আপনার এক্সেল বিশ্লেষণগুলিকে সম্পূর্ণ নতুন স্তরে উন্নীত করতে পারেন।





ভিবিএতে সেল এবং রেঞ্জ ফাংশন ব্যবহারে সমস্যা হল যে উন্নত স্তরে, বেশিরভাগ লোকের বুঝতে অসুবিধা হয় যে এই ফাংশনগুলি আসলে কীভাবে কাজ করে। এগুলি ব্যবহার করা খুব বিভ্রান্তিকর হতে পারে। এখানে আপনি কীভাবে সেগুলি ব্যবহার করতে পারেন তা আপনি সম্ভবত কল্পনাও করেননি।





কোষ ফাংশন

সেল এবং রেঞ্জ ফাংশন আপনাকে বলতে দেয় আপনার VBA স্ক্রিপ্ট ঠিক কোথায় আপনার ওয়ার্কশীটে আপনি পেতে চান, অথবা ডেটা রাখুন। দুটি কোষের মধ্যে প্রধান পার্থক্য হল তারা যা উল্লেখ করে।





কোষ সাধারণত একটি সময়ে একটি একক কোষ উল্লেখ করুন, যখন পরিসীমা একবারে কোষের একটি গ্রুপ উল্লেখ করে। এই ফাংশনের ফরম্যাট হল ঘর (সারি, কলাম)

এটি সম্পূর্ণ শীটের প্রতিটি একক কোষের উল্লেখ করে। এটি এমন একটি উদাহরণ যেখানে সেল ফাংশন একটি একক কোষ উল্লেখ করে না:



Worksheets('Sheet1').Cells

এটি উপরের সারির বাম দিক থেকে তৃতীয় ঘরটি উল্লেখ করে। সেল C1:

Worksheets('Sheet1').Cells(3)

নিম্নলিখিত কোডটি সেল D15 কে উল্লেখ করে:





Worksheets('Sheet1').Cells(15,4)

আপনি যদি চান, আপনি 'D (15,' D ')'-এর সাথে সেল D15 উল্লেখ করতে পারেন --- আপনাকে কলাম লেটার ব্যবহার করার অনুমতি দেওয়া হয়েছে।

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





রেঞ্জ ফাংশন

অনেক উপায়ে, রেঞ্জ ফাংশনটি সেল ব্যবহার করার চেয়ে অনেক বেশি শক্তিশালী, কারণ এটি আপনাকে একক কোষ, বা কোষের একটি নির্দিষ্ট পরিসরের উল্লেখ করতে দেয়। আপনি একটি রেঞ্জ ফাংশনের মাধ্যমে লুপ করতে চান না, কারণ কোষের রেফারেন্স সংখ্যা নয় (যদি না আপনি এর ভিতরে সেল ফাংশন এম্বেড করেন)।

এই ফাংশনের ফরম্যাট হল রেঞ্জ (সেল #1, সেল #2) । প্রতিটি ঘর একটি অক্ষর-সংখ্যা দ্বারা মনোনীত করা যেতে পারে।

আসুন কয়েকটি উদাহরণ দেখি।

নতুন পিসিতে ইনস্টল করার জিনিস

এখানে, পরিসীমা ফাংশন সেল A5 উল্লেখ করছে:

Worksheets('Sheet1').Range('A5')

এখানে, পরিসীমা ফাংশন A1 থেকে E20 এর মধ্যে সমস্ত কোষের উল্লেখ করছে:

Worksheets('Sheet1').Range('A1:E20')

উপরে উল্লিখিত হিসাবে, আপনাকে নম্বর-অক্ষর সেল অ্যাসাইনমেন্ট ব্যবহার করতে হবে না। শীটের একটি পরিসীমা শনাক্ত করার জন্য আপনি আসলে একটি রেঞ্জ ফাংশনের ভিতরে দুটি সেল ফাংশন ব্যবহার করতে পারেন, যেমন:


With Worksheets('Sheet1')
.Range(.Cells(1, 1), _
.Cells(20, 5))
End With

উপরের কোডটি রেঞ্জ ('A1: E20') ফাংশনের মতো একই পরিসরের উল্লেখ করে। এটি ব্যবহার করার মান হল, এটি আপনাকে এমন কোড লিখতে দেয় যা গতিশীলভাবে লুপ ব্যবহার করে রেঞ্জের সাথে কাজ করে।

এখন যেহেতু আপনি বুঝতে পেরেছেন কিভাবে সেল এবং রেঞ্জ ফাংশন ফরম্যাট করতে হয়, আসুন আপনি কিভাবে আপনার VBA কোডে এই ফাংশনগুলোর সৃজনশীল ব্যবহার করতে পারেন সে বিষয়ে ডুব দিন।

কোষ ফাংশন সহ ডেটা প্রসেস করা হচ্ছে

সেল ফাংশন সবচেয়ে দরকারী যখন আপনার একটি জটিল সূত্র থাকে যা আপনি কোষের একাধিক পরিসর জুড়ে করতে চান। এই রেঞ্জগুলি একাধিক শীট জুড়েও বিদ্যমান থাকতে পারে।

একটি সহজ উদাহরণ নেওয়া যাক। ধরা যাক আপনি 11 জনের একটি বিক্রয় দল পরিচালনা করেন এবং প্রতি মাসে আপনি তাদের কর্মক্ষমতা দেখতে চান।

আপনার থাকতে পারে পত্রক 1 যে তাদের বিক্রয় গণনা, এবং তাদের বিক্রয় ভলিউম ট্র্যাক।

চালু শীট 2 যেখানে আপনি আপনার কোম্পানির ক্লায়েন্টদের কাছ থেকে গত days০ দিনের মতামত রেটিং ট্র্যাক করেন।

আপনি যদি দুটি শীট থেকে মান ব্যবহার করে প্রথম শীটে বোনাস গণনা করতে চান তবে এটি করার একাধিক উপায় রয়েছে। আপনি প্রথম ঘরে একটি সূত্র লিখতে পারেন যা দুটি শীট জুড়ে ডেটা ব্যবহার করে গণনা করে এবং এটিকে নিচে টেনে আনতে পারে। এটা কাজ করবে।

এর একটি বিকল্প হল ভিবিএ স্ক্রিপ্ট তৈরি করা যা আপনি যখনই শীটটি খুলবেন তখন চালানোর জন্য ট্রিগার করবেন, অথবা শীটে একটি কমান্ড বোতাম দিয়ে ট্রিগার করবেন যাতে এটি গণনা করার সময় আপনি নিয়ন্ত্রণ করতে পারেন। আপনি একটি VBA স্ক্রিপ্ট ব্যবহার করতে পারেন যাইহোক একটি বহিরাগত ফাইল থেকে সমস্ত বিক্রয় ডেটা টানতে।

তাহলে কেন সেই সময়ে একই স্ক্রিপ্টে বোনাস কলামের হিসাব ট্রিগার করবেন না?

ক্রিয়ায় কোষ ফাংশন

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

এখন, যখন আপনি ক্লিক করুন ঠিক আছে এবং মূল শীটে ফিরে যান, আপনি বিকাশকারী মেনু বিকল্পটি দেখতে পাবেন।

আপনি ব্যবহার করতে পারেন Ertোকান কমান্ড বাটন toোকানোর জন্য মেনু, অথবা শুধু ক্লিক করুন কোড দেখুন কোডিং শুরু করতে।

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

Private Sub Workbook_Open()
End Sub

আপনার কোড উইন্ডো এরকম কিছু দেখাবে।

এখন আপনি গণনা পরিচালনা করতে কোড লিখতে প্রস্তুত। একটি একক লুপ ব্যবহার করে, আপনি সমস্ত 11 জন কর্মীর মধ্য দিয়ে যেতে পারেন এবং সেল ফাংশনের সাহায্যে গণনার জন্য প্রয়োজনীয় তিনটি ভেরিয়েবল টানতে পারেন।

মনে রাখবেন প্রতিটি ফাংশনকে চিহ্নিত করার জন্য প্যারামিটার হিসাবে সারি এবং কলাম রয়েছে। আমরা 'x' সারি করব, প্রতিটি কলামের ডেটা অনুরোধ করতে একটি সংখ্যা ব্যবহার করব। সারির সংখ্যা হল কর্মীদের সংখ্যা, তাই এটি 1 থেকে 11 পর্যন্ত হবে। কলাম শনাক্তকারী বিক্রয় গণনার জন্য 2, বিক্রয় ভলিউমের জন্য 3 এবং প্রতিক্রিয়া স্কোরের জন্য শীট 2 থেকে 2 হবে।

চূড়ান্ত গণনা মোট বোনাস স্কোরের 100 শতাংশ পর্যন্ত যোগ করার জন্য নিম্নলিখিত শতাংশগুলি ব্যবহার করে। এটি একটি আদর্শ বিক্রয় গণনার উপর ভিত্তি করে 50, বিক্রয় ভলিউম $ 50,000 এবং 10 এর একটি প্রতিক্রিয়া স্কোর।

  • (বিক্রয় গণনা/50) x 0.4
  • (বিক্রয় ভলিউম/50,000) x 0.5
  • (প্রতিক্রিয়া স্কোর/10) x 0.1

এই সহজ পদ্ধতি বিক্রয় কর্মীদের একটি ভারী বোনাস দেয়। 50 গণনার জন্য, 50,000 ডলারের ভলিউম এবং 10 স্কোর --- তারা মাসের জন্য সম্পূর্ণ সর্বোচ্চ বোনাস পান। যাইহোক যে কোনও ফ্যাক্টরের নিখুঁত কিছু বোনাস হ্রাস করে। আদর্শের চেয়ে ভালো কিছু বোনাস বাড়ায়।

এখন দেখা যাক কিভাবে এই সব যুক্তি খুব সহজ, সংক্ষিপ্ত VBA স্ক্রিপ্টে টানা যায়:

Private Sub Workbook_Open()
For x = 2 To 12
Worksheets('Sheet1').Cells(x, 4) = (Worksheets('Sheet1').Cells(x, 2).Value / 50) * 0.4 _
+ (Worksheets('Sheet1').Cells(x, 3).Value / 50000) * 0.5 _
+ (Worksheets('Sheet2').Cells(x, 2).Value / 10) * 0.1 _
Next x
End Sub

এই স্ক্রিপ্টের আউটপুট দেখতে কেমন হবে।

কিভাবে জুমে হাত বাড়ানো যায়

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

সেল ফাংশনের সৌন্দর্য হল যে আপনি কিছু সুন্দর সৃজনশীল যুক্তি তৈরি করতে পারেন যা থেকে তথ্য সংগ্রহ করা যায় অনেক কোষ অনেকগুলি ভিন্ন শীট জুড়ে, এবং কিছু সম্পাদন করুন বেশ জটিল হিসাব তাদের সাথে.

আপনি সেল ফাংশন ব্যবহার করে কোষে সব ধরণের ক্রিয়া সম্পাদন করতে পারেন --- কোষ পরিষ্কার করা, ফন্ট ফর্ম্যাটিং পরিবর্তন করা এবং আরও অনেক কিছু।

আপনি যা করতে পারেন তার সবকিছু অন্বেষণ করতে, দেখুন মাইক্রোসফট এমএসডিএন পৃষ্ঠা কোষ বস্তুর জন্য।

বিন্যাস ফাংশন সহ ঘর বিন্যাস

একসাথে অনেকগুলো কোষের মাধ্যমে লুপ করার জন্য, কোষের কাজ নিখুঁত। কিন্তু যদি আপনি একসাথে কোষের একটি সম্পূর্ণ পরিসরে কিছু প্রয়োগ করতে চান, রেঞ্জ ফাংশন অনেক বেশি দক্ষ।

এর জন্য একটি ব্যবহারের ক্ষেত্রে স্ক্রিপ্ট ব্যবহার করে কোষের পরিসর বিন্যাস করা হতে পারে, যদি কিছু শর্ত পূরণ করা হয়।

উদাহরণস্বরূপ, ধরা যাক, যদি সমস্ত বিক্রয় কর্মীদের জুড়ে সমস্ত বিক্রির পরিমাণ মোট $ 400,000 ছাড়িয়ে যায়, তাহলে আপনি বোনাস কলামের সবকটি সবুজ হাইলাইট করতে চান তা বোঝাতে যে দলটি একটি অতিরিক্ত দলীয় বোনাস অর্জন করেছে।

আসুন এক নজরে দেখে নেওয়া যাক কিভাবে আপনি এটি করতে পারেন একটি IF বিবৃতি

Private Sub Workbook_Open()
If Worksheets('Sheet1').Cells(13, 3).Value > 400000 Then
ActiveSheet.Range('D2:D12').Interior.ColorIndex = 4
End If
End Sub

যখন এটি চলবে, যদি কোষ টিমের গোলের ওপরে থাকে, তবে পরিসরের সমস্ত কোষ সবুজ রঙে ভরে যাবে।

রেঞ্জ ফাংশন ব্যবহার করে কোষের গোষ্ঠীতে আপনি যে ক্রিয়াকলাপগুলি সম্পাদন করতে পারেন তার একটি সহজ উদাহরণ এটি। আপনি যা করতে পারেন তার মধ্যে রয়েছে:

  • গ্রুপের চারপাশে একটি রূপরেখা প্রয়োগ করুন
  • বিভিন্ন কক্ষের ভিতরে পাঠ্যের বানান পরীক্ষা করুন
  • পরিষ্কার করুন, অনুলিপি করুন বা কোষগুলি কাটুন
  • 'ফাইন্ড' পদ্ধতি দিয়ে একটি পরিসরের মধ্যে অনুসন্ধান করুন
  • অনেক বেশি

পড়তে ভুলবেন না মাইক্রোসফট এমএসডিএন পৃষ্ঠা পরিসীমা বস্তুর জন্য সমস্ত সম্ভাবনা দেখতে।

পরবর্তী স্তরে এক্সেল নিন

এখন যেহেতু আপনি সেল এবং রেঞ্জ ফাংশনগুলির মধ্যে পার্থক্য বুঝতে পেরেছেন, এখন আপনার VBA স্ক্রিপ্টিংকে পরবর্তী স্তরে নিয়ে যাওয়ার সময় এসেছে। এক্সেলের কাউন্টিং এবং ফাংশন যুক্ত করার বিষয়ে ড্যানের নিবন্ধটি আপনাকে আরও উন্নত স্ক্রিপ্ট তৈরি করতে দেবে যা আপনার সমস্ত ডেটা সেটগুলিতে খুব দ্রুত মান জমা করতে পারে।

এবং যদি আপনি এক্সেলে VBA দিয়ে শুরু করছেন, ভুলে যাবেন না যে আমরা একটি চমত্কার পেয়েছি এক্সেল ভিবিএ -এর সূচনা নির্দেশিকা তোমার জন্যও বটে.

শেয়ার করুন শেয়ার করুন টুইট ইমেইল ক্যানন বনাম নিকন: কোন ক্যামেরা ব্র্যান্ড ভাল?

ক্যানন এবং নিকন ক্যামেরা শিল্পের দুটি বড় নাম। কিন্তু কোন ব্র্যান্ড ক্যামেরা এবং লেন্সের উন্নত লাইনআপ অফার করে?

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রমোদ
  • প্রোগ্রামিং
  • ভিজ্যুয়াল বেসিক প্রোগ্রামিং
  • মাইক্রোসফট এক্সেল
লেখক সম্পর্কে রায়ান দুবে(942 নিবন্ধ প্রকাশিত)

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

রায়ান ডুবে থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন