Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

XL2000: How to Programmatically Format Names of Months in All-Capital Letters


View products that this article applies to.

Summary

In the built-in date format in Microsoft Excel, only the first letter of the month is uppercase.

You can create a Microsoft Visual Basic for Applications macro that can be used to capitalize the entire month name.

↑ Back to the top


More information

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.
If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS This macro takes a date in any number format, changes it to a text string in mmm dd yyyy format, and then renders all the letters of the month uppercase. For example, if a cell contains a date of January 1, 2001, the macro converts it to the string 11/01/2001, and then to JAN 01 2001.

CAUTION: This procedure deletes the value representing the date.

To create and use a macro that results in capitalized month names, follow these steps:
  1. Start Excel.
  2. In cell A1 type the following date:
    1/1/01
  3. Select cell A1.
  4. Press ALT+F11 to start the Visual Basic Editor.
  5. On the Insert menu, click Module.
  6. In the module sheet, type the following code:
    Sub UpperMonth()
       Dim Cell As Object     'Declare the Cell variable.
       For Each Cell In Selection
          ' If the cell is blank or a text string, then
          ' skip to the next cell in the selection.
          If Cell.Value <> "" And Val(Cell.Value) > 0 Then
             'Format the cell as text in a 'mmm' number format,
             'and change it to uppercase.
             Cell.Value = UCase(Format(Cell.Value, "mmm dd yyyy"))
          End If
       Next
    End Sub
    					
  7. Press ALT+F11 to return to Excel.
  8. On the Tools menu, point to Macro, and then click Macros.
  9. In the Macro name list, click UpperMonth, and then click Run.

↑ Back to the top


Keywords: KB213503, kbprogramming, kbinfo, kbhowto, kbdtacode

↑ Back to the top

Article Info
Article ID : 213503
Revision : 8
Created on : 11/23/2006
Published on : 11/23/2006
Exists online : False
Views : 267