Showing posts with label Excel. Show all posts
Showing posts with label Excel. Show all posts

Thursday, July 23, 2020

Sometime we need to enter password via inputbox for many reason. Microsoft excel or access do not have any inputbox to take input password. It take input as clear text and any user can see the password while typing. We can make it in two way. We can create a data input form having Text Box and specify property to mask input character as start (*) or other symbol. Another way is to write custom VBA function to do this. I will show how to write custom VBA function to mask inputbox character. Lets start.

1. First open a new workbook.
2. Open VBA code window (Alt+F11).
3. Insert a new module (Follow the below screenshot).


4. Copy and paste below codes to this module. You can also download codes from this link.

'======================= Code Start ======================

Option Explicit
Private Declare PtrSafe Function CallNextHookEx Lib "user32" (ByVal hHook As LongPtr, _
    ByVal ncode As LongPtr, ByVal wParam As LongPtr, lParam As Any) As LongPtr

Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As LongPtr

Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
    (ByVal idHook As LongPtr, ByVal lpfn As LongPtr, ByVal hmod As LongPtr, ByVal dwThreadId As LongPtr) As LongPtr

Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As LongPtr) As LongPtr

Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
(ByVal hDlg As LongPtr, ByVal nIDDlgItem As LongPtr, ByVal wMsg As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr

Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As LongPtr, _
ByVal lpClassName As String, ByVal nMaxCount As LongPtr) As LongPtr

Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As LongPtr

Private Const EM_SETPASSWORDCHAR = &HCC
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private Const HC_ACTION = 0

Private hHook As LongPtr


Public Function NewProc(ByVal lngCode As LongPtr, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
    Dim RetVal
    Dim strClassName As String, lngBuffer As LongPtr

    If lngCode < HC_ACTION Then
        NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
        Exit Function
    End If

    strClassName = String$(256, " ")
    lngBuffer = 255

    If lngCode = HCBT_ACTIVATE Then
        RetVal = GetClassName(wParam, strClassName, lngBuffer)
        If Left$(strClassName, RetVal) = "#32770" Then
            SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
        End If
    End If

    CallNextHookEx hHook, lngCode, wParam, lParam
End Function

Public Function PasswordBox(Prompt, Title) As String
    Dim lngModHwnd As LongPtr, lngThreadID As LongPtr

    lngThreadID = GetCurrentThreadId
    lngModHwnd = GetModuleHandle(vbNullString)

    hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)

    PasswordBox = InputBox(Prompt, Title)
    UnhookWindowsHookEx hHook
End Function

'================= Code End ===================

5. Then make a public sub to call the PasswordBox function. You can call the function like below.

Sub TestPasswordBox()
    Range("A1") = PasswordBox("Enter password to test.", "Password Box")
End Sub


E-Mail: harun24hr@gmail.com

Sunday, December 31, 2017


আমি আজকে দেখাবো কিভাবে Microsoft excel এবং word ব্যবহার করে অল্প সময়ে কয়েকশত students এর marksheet তৈরি করা যায়। উপরের download link এ ভিডিও সহ marksheet  এর sample এবং student দের তথ্য এবং  subject wise mark entry সহ excel file দেওয়া আছে।



কাজটি করার জন্য আপনাকে প্রথমে আপনার প্রতিষ্ঠানের marksheet এর sample তৈরি করতে হবে। একটি excel file এ logical manner এ সুন্দর করে ডাটা entry করতে হবে। এরপর ঐ excel file থেকে কিভাবে ডাটা এনে এক সাথে সব student দের marksheet automatically তৈরি করবেন তা ভিডিওতে বিস্তারিত দেখানো হয়েছে এবং আলোচনা করা হয়েছে। আশা করি tutorial টি দেখে আপনারা আপনাদের প্রতিষ্ঠানের কাজে ব্যবহার করতে পারবেন।
যেকোন পরামর্শ বা তথ্যের জন্য comment বা মেইল করুন   harun24hr@gmail.com

Thursday, January 19, 2017

In this post I will show, how to get all files name from a folder. Some times we require to type all file names from a folder. Typing for many files a time consume. So to get easily all files name we may use following procedure. Sample File Download Link.

1.       Open a new excel file.
2.       Open Visual Basic code windows (Hit “ALT+F11”).
3.       Insert a new module.
4.       Copy and paste below codes and save the file as macro enable workbook.

‘******************************************************************************
Sub GetAllFiles()
    Dim fso As Object
    Dim objFolder As Object
    Dim objFolders As Object
    Dim objFile As Object
    Dim objFiles As Object
    Dim strFileName As String
    Dim strFilePath As String
    Dim FolderPath, FolderNme As String
   
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Show
            FolderNme = .SelectedItems(1)
        End With

    FolderPath = FolderNme

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set objFolder = fso.GetFolder(FolderPath)
    Set objFiles = objFolder.Files
   
    For Each objFile In objFiles
        strFileName = objFile.Name
          strFilePath = objFile.Path
           ActiveCell.Value = strFileName
          ActiveCell.Offset(0, 1) = strFilePath
        ActiveCell.Offset(1, 0).Activate
    Next

    Set objFolder = Nothing
    Set objFile = Nothing
    Set fso = Nothing
    'Columns(ActiveCell.Column).AutoFit
    'Columns(ActiveCell.Offset(0, 1).Column).AutoFit
End Sub
‘******************************************************************************

5.       Now insert a form controls button from developer tab and assign above macro.
6.       Select cell A1 and run the macro by clicking the button.
7.       Macro will get all files from the folder you will select.

If there is any query about this post, you can comment or send mail to harun24hr@gmail.com

Saturday, January 9, 2016


Sample file download: Filter_Data_Based_On_Condition      Zip File (10 KB)

How to filter data using function in Excel. In above screenshot there are some data in left table. In right table filtered data are shown.

There are some tasks list and different task is in different status. We want to filter tasks those are already complete. Whenever a task is mark as complete it will automatically appear in filtered list. To achieve these filtering use following formula.

=IFERROR(INDEX($B$4:$E$18,SMALL(IF($E$4:$E$18="Complete",ROW($E$4:$E$18)-ROW($B$3),""),ROWS($B$4:$B4)),COLUMNS($B$4:B$4)),"")

*** Note: This is an array formula. So, must press Ctrl+Shift+Enter after typing the formula.

As above screenshot put the formula in G4 cell and fill the formula right and down.

Wednesday, January 6, 2016


Suppose I have list of animal (See screenshot). I want to filter data which have word cat. So, for filtering data with word cat use the following formula.

=IFERROR(INDEX($A$5:$A$14,SMALL(IF(ISNUMBER(SEARCH("Cat",$A$5:$A$14)),ROW($A$5:$A$14)-ROW($A$4)),ROWS($A$5:$A5))),"")

*** Note: This is an array formula. So, you have to must press ‘Ctrl+Shift+Enter’ after typing formula.

আজকে আমার পোষ্টের বিষয় হলো কিভাবে একটি শীটের data password এর মাধ্যমে protect করা যায়, যাতে অন্য কেউ দেখতে না পারে। অনেকে মনে করতে পারে আমিতো শীটে password দিলেই কেউ দেখতে পারবেনা। কিন্তু না আমার আজকের টিউনের বিষয়টি একটু অন্যরকম। Suppose একটি workbook এ একাধিক শীট আছে, যেখানে একেকটি শীটে একক জন data entry করে। কিন্তু একটি শীটে কিছু important information আছে যা সবার দেখার জন্য না। আমি শুধু ঐ শীটটিতে password দিয়ে রাখব যাতে অন্যরা অন্যান্য সব শীটের ডাটা দেখতে ও এডিট করতে পারলেও ঐ শীটের ডাটা দেখতে ও এডিট করতে না পারে। আসুন দেখি কাজটি কিভাবে করা যায়।




(১) একটি Excel file নিই এবং এতে তিনটি শীট নিই এবং যথাক্রমে নাম দেই Main, HiddenSheet, AnotherSheer.
(২) HiddenSheet এ আপনি কিছু ডাটা entry করুন। Keyboard এর Alt+F11 চেপে Excel code window open করুন। নিচের চিত্রের মত বাম পাশের project explorer window এর ThisWorkbook এ double click করুন এবং চিত্রের ন্যায় ২ ও ৩ নং ধাপে Workbook এবং SheetActivate select করুন। এখন চিত্রের মত করে নিচের কোড টুকো লিখুন (Copy Paste করতে পারেন)।


Dim MySheetName As String
MySheetName = "HiddenSheet" 'The sheed which I want to hide.
If Application.ActiveSheet.Name = MySheetName Then
    Application.EnableEvents = False
     Application.ActiveSheet.Visible = False
      response = Application.InputBox("Password", "Enter Password", "", Type:=2)
    If response = "123456" Then 'Unhide Password.
        Application.Sheets(MySheetName).Visible = True
        Application.Sheets(MySheetName).Select
    End If
End If
Application.Sheets(MySheetName).Visible = True
Application.EnableEvents = True

এবং workbook_open() এ {৩ নং স্টেপে SheetActivate এর যায়গায় open select করুন} নিচের লাইনটা শুধু ‍লিখুন

Sheets("Main").Select

(৩) সবশেষে ফাইলটি Excel Macro-Enabled Workbook হিসেবে save করুন। (Office Button ----> Save As ----> Excel Macro-Enabled Workbook
File টি Close করে পুনরায় চালু করুন। HiddenSheet এই শীটে ক্লিক করলেই আপনার কাছে password চাবে। password সঠিক হলে আপনি ডাটা দেখতে এবং এডিট করতে পারবেন, অন্যথায় পারবেন না।
 

For any types of query about this post mail me at harun24hr@gmail.com
টিউনের শিরোনাম দেখে অনেকের কাছে এলোমেলো মনে হতে পারেআমি আজকে দেখাব কিভাবে অনেকগুলো আইটেমের একটা লিস্ট থেকে শুধুমাত্র একক আইটেম গননা  এবং তা লিস্ট আকারে বের করা যায়। ধরুন এক্সেলের একটি কলামে অনেকগুলো ডাটা এন্ট্রি করা আছে এবং একই আইটেম একাধিক বার আছে। এখন আমারা চাই ঐ কলামে মোট কতটা একক আইটেম আছে, এবং ঐ একক আইটেমগুলোর লিস্ট। যেকোন সময় নতুন আইটেম যদি এন্ট্রি করা হয়, তাহলে যেন অটোমেটিক ঐ আটইটেম একক আইটেমের লিস্টে চলে আসে। নিচের উদাহরনটি দেখলে বিষয়টি আরো পরিস্কার হয়ে যাবে।


এখানে একটা sample sales data এবং report দেখানো হয়েছে। Report থেকে আমরা দেখতে পাই মোট কতটি পন্য এবং তাদের লিস্ট এবং কোন পন্য কত পরিমান সেল করা হয়েছে তার পরিমান। এই কাজগুলোই এক্সেলে formula এর মাধ্যমে কিভাবে বের করতে হয় তা দেখাব। বুঝার সুবিধার জন্য sample file download করুন।

Sample File Download: Count And List Unique Items    Zip File.

প্রথমে একটি এক্সেল ফাইল নিয়ে তাতে উপরের চিত্রের মত ডাটা এন্ট্রি করি। এরপর যে সেলে আমরা একক আইটেমগুলোর গননার ফলাফল দেখতে চাই সেই সেলে নিচের formula বসান।
=SUMPRODUCT((D3:D1000<>"")/COUNTIF(D3:D1000,D3:D1000&""))

এখন যে সেলে আমরা একক আইটেমগুলো লিস্ট আকারে দেখতে চাই সেই সেলে নিচের formula বসান।
=IFERROR(INDEX($D$3:$D$25,MATCH(0,COUNTIF($I$3:I4,$D$3:$D$25),0)),"")
এটি একটি অ্যারে formula তাই formula বসানোর পর অবশ্যই Ctrl+Shift+Enter চাপবেন, তাছাড়া formula টি ঠিক মত কাজ করবে না। Ctrl+Shift+Enter চাপার পর formula টি এরকম দেখাবে:
{=IFERROR(INDEX($D$3:$D$25,MATCH(0,COUNTIF($I$3:I4,$D$3:$D$25),0)),"")}



প্রতিটা আইটেম কতটা সেল হয়েছে তা বের করার জন্য এই ফরমুলা ব্যবহার করুন।
=IF(I4="","",SUMIF($D$3:$D$25,I4,$E$3:$E$25))



যারা vba use করতে পারেন তারা নিচের Custom Formula ব্যবহার করতে পারেন। Zip ফাইলে সবকিছু দেওয়া আছে।

যেকোন সমস্যা হলে কমেন্টে অথবা মেইলে জানাবেন। ইমেইল: harun24hr@gmail.com


Function CountUnique(ByVal MyRange As Range) As Integer
    Dim Cell As Range
    Dim J As Integer
    Dim iNumCells As Integer
    Dim iUVals As Integer
    Dim sUCells() As String

    iNumCells = MyRange.Count
    ReDim sUCells(iNumCells) As String

    iUVals = 0
    For Each Cell In MyRange
        If Cell.Text > "" Then
            For J = 1 To iUVals
                If sUCells(J) = Cell.Text Then
                    Exit For
                End If
            Next J
            If J > iUVals Then
                iUVals = iUVals + 1
                sUCells(iUVals) = Cell.Text
            End If
        End If
    Next Cell
    CountUnique = iUVals
End Function


Function listUnique(rng As Range) As Variant
    Dim row As Range
    Dim elements() As String
    Dim elementSize As Integer
    Dim newElement As Boolean
    Dim i As Integer
    Dim distance As Integer
    Dim result As String

    elementSize = 0
    newElement = True

    For Each row In rng.Rows
        If row.Value <> "" Then
            newElement = True
            For i = 1 To elementSize Step 1
                If elements(i - 1) = row.Value Then
                    newElement = False
                End If
            Next i
            If newElement Then
                elementSize = elementSize + 1
                ReDim Preserve elements(elementSize - 1)
                elements(elementSize - 1) = row.Value
            End If
        End If
    Next

    distance = Range(Application.Caller.Address).row - rng.row
   
    If distance < elementSize Then
        result = elements(distance)
        listUnique = result
    Else
        listUnique = ""
    End If

End Function
আজকের পোষ্টের উদ্দেশ্য হলো কিভাবে কোন শীটে সংরক্ষিত ডাটা থেকে অন্য কোন শীটে শুধু মাত্র আইডি বা Unique কোন value select করে অন্য ডাটাগুলো নিয়ে আসা যায়।



পোষ্টের শুরুতে Sample File টি Download করে নিতে পারেন।


প্রথমে উপরের চিত্রের মত করে Sheet2 তে ডাটা এন্ট্রি করুন। এরপর Sheet1 এ উপরের চিত্রের মত করে কিছু সেল সাজিয়ে নিন। তারপর B4 থেকে B23 পর্যৃন্ত select করে Data tab এর Data Validation এ ক্লিক করুন। Validation Criteria এর Allow combo box এ List select করুন। Source box এ =Sheet2!A2:A21 লিখে ok click করুন। তাহলে আমাদের Drop Down set করা হয়ে গেলো।



এখন “Name” Column (C4 Cell) এ এই Formula লিখুন =IF(B4="","",VLOOKUP(B4,Sheet2!A$2:E$200,2,FALSE))

“Joining Date” Column (D4 Cell) এ এই Formula লিখুন =IF(B4="","",VLOOKUP(B4,Sheet2!A$2:E$200,3,FALSE))

“Designation” Column (E4 Cell) এ এই Formula লিখুন =IF(B4="","",VLOOKUP(B4,Sheet2!A$2:E$200,4,FALSE))

“Department” Column (F4 Cell) এ এই Formula লিখুন =IF(B4="","",VLOOKUP(B4,Sheet2!A$2:E$200,5,FALSE))


প্রতিটি কলামে সূত্র লেখার পর 23 Row পর্যন্ত Fill করুন।

এখন ID Column এর সেল সমূহে শুধুমাত্র আইডি সেলেক্ট করলেই পরের কলামগুলোর সেলে ডাটা চলে আসবে।



Any query? E-Mail me at harun24hr@gmail.com
আমার আজকের টিউনের মূল উদ্দেশ্য হলো আসলে এক্সেল দ্বারা কি করা সম্ভব তার কিছুটা তুলে ধরা। Privacy এর জন্য ফাইলে কিছু ডাটা Unknown দেখানো হয়েছে যেমন, নাম, মোবাইল নম্বর, ই-মেইল। 


Sample file download: Visit_Details      Zip File

Excel, Microsoft Office Package এর বহুল ব্যবহৃত একটি প্রোগ্রাম। বিশ্বজুড়ে সমাদৃত এই প্রোগ্রাম দ্বারা কত যে Advance level এর কাজ করা যায়, তার কতটুকুই বা আমরা জানি। আমাদের দেশে যারা Excel নিয়ে কাজ করে, তারা অনেকেই অনেক দক্ষ কিস্তু শেয়ার করতে চায় না বা সুযোগ হয় না। আমি কিছু টুকিটাকি কাজ করি Excel এর। তারই একটি ফাইল আপনাদের সাথে শেয়ার করলাম। ফাইলটি source code সহ open রাখা হয়েছে, যাতে যারা শিখতে আগ্রহী তারা জানতে পারে, কি কোড ব্যবহার করা হয়েছে এবং এই কোডগুলো তারা অন্য ফাইলেও নিজেদের মত ব্যবহার করতে পারে।

ফাইলটির কিছু Screenshots এবং বৈশিষ্ট্য:

·         New Visit button এ click করলেই উপরের চিত্রের মত একটি ফরম ওপেন হবে। এখান থেকে আপনি নতুন ভিজিট এন্ট্রি করতে পারবেন। First, Last, Next, Previous record এ navigation করতে পারবেন।
·         Copy Data button এর মাধ্যমে যেকোন সেল সেলেক্ট করে পুরোনো ডাটা দেখতে এবং এডিট করে নিউ ‍ভিজিট হিসেবে সেভ করতে পারবেন।


·         Filter button এ click করলে উপরের মত একটি ফরম আসবে। এখান থেকে আপনি একাধিক criteria select করে ডাটা ফিল্টারিং করতে পারবেন। যেমন Visit type, Product, Customer, date range, moth, year etc.

·         ফাইলটির আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এটি Automatic প্রতিদিনের তারিখ সহ ব্যাকআপ রাখবে। আপনি যেখানে ফাইলটি রাখবেন সেখানে Backups নামে একটি ফোল্ডারে এই Backup file গুলো জমা হবে।
ফাইলটি Macro Enable তাই কারো কম্পিউটার Excel Macro Enable করা না থাকলে, Macro Enable করে নিতে হবে। Macro Enable করার জন্য নিচের চিত্রটি অনুসরন করুন।


হয়তো ফাইলটি সরাসরি কারো কাজে লাগবে না, কিন্তু আশাকরি যারা excel advance লেভেল এ কাজ করেন তারা তাদের অন্য ফাইলে এই কোড গুলো ব্যবহার করতে পারবেন।
আর হ্যা, এই ফাইলের সকল কাজ/কোড আমার নিজের করা। এই পোষ্ট নিয়ে যেকোন জিজ্ঞাসা থাকলে দয়া করে মেইলে জানাবেন। আমার ই-মেইল harun24hr@gmail.com


Excel বিভিন্ন হিসাব নিকাশ করার জন্য ব্যবহার করা হয়। স্কুল কলেজে যারা student দের পরীক্ষার রেজাল্ট প্রসেসিং এর জন্য এক্সেল ব্যবহার করেন তাদের এই সূত্রটি কাজে লাগবে বলে আশা করি।



Sample file download Roll_Assign_By_Function Zip File

Formula:    =MATCH(O2*10^(MAX($N$2:$N$1000)-N2),LARGE($O$2:$O$1000*10^(MAX($N$2:$N$1000)-$N$2:$N$1000),ROW($N$2:$N$1000)-ROW($N$1)),0)

নিচের চিত্রে সূত্রটির ব্যাখা দেওয়া আছে। যারা নিজেরা অনুশীলন করবেন তারা সূত্রের মধ্যে Fail Count এবং Total কলামের কলাম নাম পরিবর্তন করে নিবেন। যেমন, এখানে Fail Count column হলো N এবং Total কলাম হলো O.


সুত্রটি কিভাবে কাজ করে: এটি প্রথমে Fail Count থেকে সবচেয়ে কম বিষয়ে ফেল করেছে এমন ছাত্র-ছাত্রীকে রোল ১ হবে। যদি Fail Count সমান হয় তখন মোট নম্বর যার সবচেয়ে বেশি তার ঘরে রোল ১ হবে। এভাবে ধারাবাহিক ভাবে রোল চলে আসবে।
Logic: যদি কারো মোট নাম্বার সবচেয় বেশি হয় কিন্তু সে যদি কোন বিষয়ে ফেল করে তাহলে, যে কোন বিষয়ে ফেল করে নাই (মোট নাম্বার কম হলেও)  তার রোল প্রথমে আসবে যদি একাধিক ছাত্র-ছাত্রীদের ফেল সমান হয় তখন  ছাত্র-ছাত্রীদের মাঝে যার মোট নাম্বার বেশি হবে তার রোল সবচেয়ে কম হবে
*** এটি একটি Array Formula তাই Formula বসানোর পর অবশ্যই আপনাকে Crtl+Shift+Enter চাপতে হবে। তাহলে Formula টি এরকম দেখাবে {=MATCH(O2*10^(MAX($N$2:$N$1000)-N2),LARGE($O$2:$O$1000*10^(MAX($N$2:$N$1000)-$N$2:$N$1000),ROW($N$2:$N$1000)-ROW($N$1)),0)}
এরপর সবগুলো সেলে ‍Autofill ব্যবহার করে Formula টি বসিয়ে নিন।

For any query about this post, please mail at harun24hr@gmail.com 

Tuesday, January 5, 2016


Suppose, we have data in two column, "Type", "Amount". We want to select a type and input amount. If the input amount is equal of that type then it will show that equal result or will return next larger value. According to above screenshot put below formula in G3 cell.

=MIN(IF($A$3:$A$11=D3,IF($B$3:$B$11=E3,$B$3:$B$11,IF($B$3:$B$11>E3,$B$3:$B$11))))

Sample File Download

*** Note: The formula is an array formula, So you must press Ctrl+Shift+Enter after finishing typing formula.

Thursday, December 31, 2015


আমরা যারা বাংলাদেশে এক্সেল নিয়ে কাজ করি তাদের মধ্যে অনেকে এক্সপার্ট আছে। কিন্তু সমস্যা হলো নিজের জানা কাজ অন্যকে জানানো। কেউ জানায় না, কেউ জানাইতে চাইলেও পারে না। যাই হোক আমি আজকে একটা খুব সাধারন বিষয় নিয়ে টিউন করছি। অংকে লেখার সময় আমরা কমা ব্যবহার করি। যেমন শতকের পার, হাজারের পর, লক্ষের পর, কোটির পর। কিন্তু Excel এ দেখবেন কমা আসে বিলিয়ন মিলিয়ন এর পর। যেমন 124050222 এই সংখাটি যদি আপনি Excel এ লিখেন এবং কমা ব্যবহার করেন তাহলে 124,050,222 এ রকম হবে। তার মানে কমার হিসাবে আসল এক শত চব্বিশ মিলিয়ন পঞ্চাশ হাজার দুই শত বাইশ টাকা। কিন্তু আমাদের বাংলাদেশের কমা স্টাইলে হবে এরকম 12,40,50,222 মানে বার কোটি চল্লিশ লাখ পঞ্চাশ হাজার দুই শত বাইশ টাকা। আমি আজকে দেখাব কিভাবে Excel বাংলাদেশের স্টাইলে কমা ব্যবহার করতে হয়।

Sample File Download: Bangladeshi_Comma_Style           Zip File

(১) প্রথমে আপনার কাখ্ঙিত সংখ্যাটি যেকোন সেল এ লিখুন (একাধিক সেল ব্যবহার করতে পারেন)।

(২) এরপর সেলগুলো সেলেক্ট করে Right Button Click করে Format Cell select করুন।

(৩) Number tab থেকে Category এর নিচে Custom select করুন। এরপর Type এর নিচের বক্সে নিচের লাইনটি হুবহু কপি করে পেষ্ট করুন। 
[>=10000000] ##\,##\,##\,##0.00;[>=100000]##\,##\,##0.00;##,##0.00
OK করুন। দেখুন বাংলাদেশী স্টাইলে কমা এসে গেছে।

আর যারা vba code নিয়ে কাজ করেন বা করতে পারবেন তারা নিচের Function টি ব্যবহার করতে পারেন। ফাংশনের মাধ্যমেও একই ফলাফল পাবেন।


Public Function BdCommaStyle(YourValue)
Dim vResult As Variant
Dim strProcess As String
Dim strFormat As String
Dim iLength As Long

vResult = Null
    If IsNumeric(YourValue) Then
       strProcess = Abs(YourValue) & ""
       iLength = InStr(1, strProcess & ".", ".") - 1
       iLength = iLength + iLength \ 2
       strFormat = Right("@@@,@@,@@,@@@", iLength)
       vResult = Format(strProcess, strFormat)

       If Left(vResult, 1) = "," Then
          vResult = Mid(vResult, 2)
       End If

       If Val(YourValue) < 0 Then
          vResult = "-" & vResult
       End If
    End If
    BdCommaStyle = vResult
End Function

Word, Excel, Access নিয়ে যেকোন Query? Please mail me at harun24hr@gmail.com


Categories

Featured Post

Excel Advance: How to filter data of a column that have specific word?

Suppose I have list of animal (See screenshot). I want to filter data which have word cat. So, for filtering data with word cat use th...

Recent Comments

Popular Posts