VBA Code – Change the Case of existing Texts in a Sheet

.

In this article, I am going to share a VBA code that can be used to change the cases of texts written in an excel worksheet. This can be used to enforce proper casing on texts written in a sheet or cell range. As you know – casing can be of 3 types: 1. lower, 2. UPPER or 3. Proper. Using this function you would be able to do any of this.

Using Excel formula

You can convert any text to lower, upper or proper cases in excel formula like below:

  • =LOWER(F9)
  • =UPPER(F9)
  • =PROPER(F9)

Casing Formula

Casing Formula

Now let’s do this by VBA code. Using VBA code, you would be able to do it automatically without using any formula.

Change casing of Texts in a Worksheet

The following function will be run on the selected area on a worksheet and convert the texts into a cell in lower, upper or proper case.
Note: Following code will ignore those cells which already has formula in it. This is important so that you don’t mess with the formula in a cell.

Sub ChangeCase()
    Dim cellRange As Range
    Application.EnableEvents = False
    For Each cellRange In Selection.SpecialCells(xlCellTypeConstants, xlTextValues).Cells
       cellRange.Value = StrConv(Rng.Text, vbUpperCase)
       'Similar to changing UpperCase, you can use 
       'vbLowerCase and vbProperCase for LowerCase and ProperCase respectively
    Next cellRange
    'enable vba events back again
    Application.EnableEvents = True
End Sub

You can also write a VBA code, which can change the case as soon as you type in a cell or cell range. This way, you can enforce user to type it a format you expect them to type. Incase they don’t type, VBA will automatically correct it in the correct format.

For example, in an Excel Form, if you want user to type their name in all Capital Letters, then you can use the following code in Worksheet_Change procedure. You are expected to type the Name in cell A10

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("A10"), Target) Is Nothing Then
        Application.EnableEvents = False
        If IsNumeric(Target.Value) = False Then
            Target.Value = StrConv(Target.Text, vbUpperCase)
        End If
        Application.EnableEvents = True
    End If
End Sub

Conclusion:


I hope you liked the article and learned something new today. Try this in your application and share your feedback. Thank you so much.

Buy a coffee for the author

Adsense

Download FREE Tools and Templates

There are many cool and useful excel tools and templates available to download for free. For most of the tools, you get the entire VBA code base too which you can look into it, play around it, and customize according to your need.

Convert PDF Tables to Excel with VBA | Step-by-Step Guide
Convert PDF Tables to Excel with VBA | Step-by-Step Guide

Convert PDF Tables to Excel with VBA | Step-by-Step Guide How to Convert PDF Tables to Excel Using Excel VBA (Macros) Extracting data from PDF tables into Excel can be tedious, but with Excel VBA (macros), you can automate this process and save time. This guide will...

Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide
Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide

In today's tutorial, we'll be diving into the exciting world of dynamic arrays and spill functions in Office 365 Excel. These features have revolutionized the way we work with data, providing a more flexible and efficient way to handle arrays. I am going to explain...

How to Declare a Public Variable in VBA
How to Declare a Public Variable in VBA

While programming in VBA sometimes you need to declare a Public Variable that can store the value throughout the program. Use of Public Variable: Let's say you have 4 different Functions in your VBA Code or Module and you have a variable that may or may not be...

What is Excel Formula?

Excel Formula is one of the best feature in Microsoft Excel, which makes Excel a very very rich application. There are so many useful built-in formulas available in Excel, which makes our work easier in Excel. For all the automated work, Excel Macro is not required. There are so many automated things can be done by using simple formulas in Excel. Formulas are simple text (With a Syntax) which is entered in to the Excel Worksheet Cells. So how computer will recognize whether it is a formula or simple text? Answer is simple.. every formula in Excel starts with Equal Sign (=).

You May Also Like…

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join and get a FREE! e-Book

Don't miss any articles, tools, tips and tricks, I publish here

You have Successfully Subscribed!

Pin It on Pinterest