VBA ম্যাক্রো ইমপ্লিমেন্ট করা এক্সেলে যেকোনো অপারেশন চালানোর সবচেয়ে কার্যকর, দ্রুত এবং নিরাপদ পদ্ধতি। এই আর্টিকেলে আমরা আপনাকে দেখাব কীভাবে এক্সেলে কলাম নম্বরকে লেটারে রূপান্তর করতে হয় VBA ব্যবহার করে।
ওয়ার্কবুক ডাউনলোড করুন
আপনি এখান থেকে বিনামূল্যে প্র্যাকটিস এক্সেল ওয়ার্কবুক ডাউনলোড করতে পারেন।
VBA ইমপ্লিমেন্ট করে কলাম নম্বরকে লেটারে রূপান্তরের ৩টি পদ্ধতি
এই বিভাগে, আপনি শিখবেন কীভাবে নির্দিষ্ট কলাম নম্বরকে লেটারে রূপান্তর করতে হয়, ইউজার-ইনপুট কলাম নম্বরকে লেটারে রূপান্তর করতে হয় এবং UDF (User-Defined Function) তৈরি করতে হয় কলাম নম্বরকে লেটারে রূপান্তর করার জন্য এক্সেলে VBA দিয়ে।
১. নির্দিষ্ট কলাম নম্বরকে লেটারে রূপান্তর করার VBA
VBA দিয়ে এক নির্দিষ্ট কলাম নম্বরকে লেটারে রূপান্তর করার ধাপগুলো নিচে দেওয়া হলো।
ধাপসমূহ:
- আপনার কীবোর্ডে Alt + F11 চাপুন অথবা Developer -> Visual Basic ট্যাবে যান Visual Basic Editor খোলার জন্য।

- পপ-আপ কোড উইন্ডোর মেনু বার থেকে, Insert -> Module ক্লিক করুন।

- নিচের কোডটি কপি করে কোড উইন্ডোতে পেস্ট করুন।
Sub ColNumToLetter() Dim ColNumber As Long Dim ColLetter As String 'Input Column Number ColNumber = 200 'Convert To Column Letter ColLetter = Split(Cells(1, ColNumber).Address, "$")(1) 'Display Result MsgBox "Column " & ColNumber & " = Column " & ColLetter End Sub
আপনার কোড এখন রান করার জন্য প্রস্তুত।

এই কোড কলাম নম্বর ২০০-কে এর সংশ্লিষ্ট লেটার অ্যাড্রেস-এ রূপান্তর করবে।
- আপনার কীবোর্ডে F5 চাপুন অথবা মেনু বার থেকে Run -> Run Sub/UserForm সিলেক্ট করুন। আপনি সাব-মেনু বারের ছোট প্লে আইকন-এ ক্লিক করেও ম্যাক্রো রান করতে পারেন।

আপনি একটি মাইক্রোসফ্ট এক্সেল পপ-আপ মেসেজ বক্স পাবেন যা কলাম নম্বর (যেমন ২০০) এর লেটার অ্যাড্রেস (GR) দেখাবে যা আপনি কোডের ভিতরে ইনপুট দিয়েছেন।

আরও পড়ুন: এক্সেলে কলাম নম্বর ভিত্তিক রেঞ্জ ব্যবহারের ভিবিএ (৪টি পদ্ধতি)
সদৃশ পড়ুন
- [ফিক্সড] এক্সেল কলাম নম্বর লেটারের বদলে দেখাচ্ছে (২টি সমাধান)
- এক্সেলে কলাম লেটারকে নম্বর চার্টে রূপান্তর (৪টি উপায়)
২. ইউজার-ডিফাইনড ফাংশন (UDF) দিয়ে কলাম নম্বরকে লেটারে রূপান্তর করার VBA
VBA দিয়ে কলাম নম্বরকে লেটারে UDF দিয়ে রূপান্তর করার ধাপগুলো নিচে দেওয়া হলো।
ধাপসমূহ:
- পূর্বের মতো Developer ট্যাব থেকে Visual Basic Editor খুলুন এবং কোড উইন্ডোতে Module Insert করুন।
- কোড উইন্ডোতে, নিচের কোডটি কপি করে পেস্ট করুন।
Public Function NumToLtr(ColNum) NumToLtr = Split(Cells(1, ColNum).Address, "$")(1) End Function

এটি VBA প্রোগ্রাম রান করার জন্য একটি Sub Procedure নয়, বরং এটি একটি User Defined Function (UDF) তৈরি করছে। তাই, কোড লিখার পর মেনু বার থেকে Run বাটনে ক্লিক করার বদলে Save ক্লিক করুন।
- এখন আপনার ইনটেরেস্টের ওয়ার্কশিটে যান এবং আপনি যা টেনে তৈরি করেছেন সেটি VBA কোড দিয়ে (কোডের প্রথম লাইনের Function NumToLtr) এবং NumToLtr ফাংশনের প্যarethesis-এ ভিতরে আপনি যে সেল রেফারেন্স নম্বর কে লেটারে রূপান্তর করতে চান সেটি পাস করুন (আমাদের কেসে, আমরা Cell B5 পাস করেছি প্যarethesis-এ ভিতরে)।
তাহলে আমাদের চূড়ান্ত ফর্মুলা হচ্ছে,
=NumToLtr(B5)
- Enter চাপুন।

আপনি আপনার ডেটাসেটে কলাম নম্বর (১) এর সংশ্লিষ্ট লেটার অ্যাড্রেস (A) পাবেন।
- এখন Fill Handle দিয়ে সারি নিচে টেনে আনুন UDF-কে বাকি সেলগুলোতে প্রয়োগ করার জন্য যাতে সেগুলো লেটারে রূপান্তরিত হয়।

GoTo স্টেটমেন্ট দিয়ে
উপরোক্ত প্রক্রিয়াটি GoTo স্টেটমেন্ট দিয়েও করা যায়।
- GoTo স্টেটমেন্ট দিয়ে কলাম নম্বরকে লেটারে রূপান্তর করার VBA কোড হচ্ছে,
Public Function Num_Letter(ByVal iColNum As Integer) As String Dim SLetter As String On Error GoTo iError Num_Letter = Left(Cells(1, iColNum).Address(False, False), _ Len(Cells(1, iColNum).Address(False, False)) - 1) Exit Function iError: Call MsgBox(Err.Number & " - " & Err.Description) End Function

- উপরোক্ত মতো, ডেটাসেটে UDF কল করুন, সেল রেফারেন্স নম্বর আর্গুমেন্ট হিসেবে পাস করুন, Enter চাপুন এবং সারি টেনে আনুন GoTo স্টেটমেন্ট দিয়ে VBA-তে কলাম নম্বরকে লেটারে রূপান্তর করতে।

Do-While লুপ দিয়ে
Do-While লুপ এক্সেল VBA-তে কলাম নম্বরকে লেটারে রূপান্তর করার আরেকটি উপায়।
- Do-While লুপ দিয়ে কলাম নম্বরকে লেটারে রূপান্তর করার VBA কোড হচ্ছে,
Function NumberToLetter(iCol As Long) As String Dim a As Long Dim b As Long a = iCol NumberToLetter = "" Do While iCol > 0 a = Int((iCol - 1) / 26) b = (iCol - 1) Mod 26 NumberToLetter = Chr(b + 65) & NumberToLetter iCol = a Loop End Function

- একইভাবে, ডেটাসেটে UDF কল করুন, সেল রেফারেন্স নম্বর আর্গুমেন্ট হিসেবে পাস করুন, Enter চাপুন এবং সারি টেনে আনুন Do-While লুপ দিয়ে VBA-তে কলাম নম্বরকে লেটারে রূপান্তর করতে।

আরও পড়ুন: এক্সেল ভিবিএ: সারি ও কলাম নম্বর দিয়ে রেঞ্জ সেট করা (৩টি উদাহরণ)
৩. ইউজার ইনপুট থেকে কলাম নম্বরকে লেটারে রূপান্তর করার VBA
VBA দিয়ে ইউজার ইনপুট থেকে কলাম নম্বরকে লেটারে রূপান্তর করার ধাপগুলো নিচে দেওয়া হলো।
ধাপসমূহ:
- পূর্বের মতো Developer ট্যাব থেকে Visual Basic Editor খুলুন এবং কোড উইন্ডোতে Module Insert করুন।
- কোড উইন্ডোতে, নিচের কোডটি কপি করে পেস্ট করুন।
Sub GetNumberFromUser() Dim ColNumber As Long Dim ColLetter As String 'User Input: Column Number ColNumber = InputBox("Please Enter a Column Number") 'Convert the user-entered Column Number To Column Letter ColLetter = Split(Cells(1, ColNumber).Address, "$")(1) 'Display the Result MsgBox "Column Number: " & ColNumber & _ " = Column Letter: " & ColLetter End Sub
আপনার কোড এখন রান করার জন্য প্রস্তুত।

- Run করুন ম্যাক্রোটি।
- একটি মাইক্রোসফ্ট এক্সেল পপ-আপ মেসেজ বক্স আসবে কলাম নম্বর চাইবে। আপনি যে কলাম নম্বর-কে লেটারে রূপান্তর করতে চান সেটি বক্সের ভিতরে লিখুন, তারপর OK চাপুন।

আপনি ইনপুট দিয়ে কলাম নম্বর (যেমন ২০০) এর রূপান্তরিত ফলাফল লেটার অ্যাড্রেস (GR) হিসেবে পাবেন।

আরও পড়ুন: এক্সেলে কলাম নম্বর ভিত্তিক রেঞ্জ ব্যবহারের ভিবিএ (৪টি পদ্ধতি)
উপসংহার
এই আর্টিকেল আপনাকে দেখিয়েছে কীভাবে এক্সেলে নম্বরকে লেটারে রূপান্তর করতে হয় VBA দিয়ে। আশা করি এই আর্টিকেল আপনার জন্য খুব উপকারী হয়েছে। টপিক সম্পর্কে আপনার যদি কোনো প্রশ্ন থাকে তবে নিঃসংকোচ জিজ্ঞাসা করুন।
সম্পর্কিত আর্টিকেল
- এক্সেলে কলাম নাম ABC থেকে 1 2 3-এ পরিবর্তন করা
- এক্সেলে কলাম লেটারকে নম্বর চার্টে রূপান্তর (৪টি উপায়)
- সারি ও কলাম নম্বর দিয়ে এক্সেলে সেল রেফারেন্স করা (৪টি পদ্ধতি)
- এক্সেল ভিবিএ: একাধিক কলাম সিলেক্ট করা (৩টি পদ্ধতি)
- এক্সেলে ম্যাচের কলাম নম্বর রিটার্ন করার ৫টি উপযোগী উপায়