Está en la página 1de 8

Macros para convertir textos a mayúsculas, minúsculas y nombres propios

Convertir a mayúsculas un rango de celdas seleccionado

Sub ConvierteMayusculas()

Dim celda As Range

For Each celda In Selection

celda.Value = UCase(celda.Value)

Next

End Sub

Convierte a minúsculas un rango de celdas seleccionado

Sub ConvierteMinusculas()

Dim celda As Range

For Each celda In Selection

celda.Value = LCase(celda.Value)

Next

End Sub

Convierte en mayúscula la primera letra de una cadena de texto

(usando la función Proper de Excel - no disponible en vba-excel)

Sub ConviertePropias()

Dim celda As Range

For Each celda In Selection

celda.Value = Application.WorksheetFunction.Proper(celda.Value)

Next

End Sub
Función LCase con VBA

¿Qué es la función LCase?

Es una función de VBA que nos va a dar a devolver una cadena de caracteres alfabéticos, sean
mayúsculas o minúsculas, en sólo minúsculas.

¿Cómo usar la función LCase?

Se activa la función y se le asigna los caracteres que se desea convertir:

LCase(cadena) → donde la cadena puede contener tanto caracteres alfabéticos como no


alfabéticos, el resultado de la función debe mantener la misma cantidad y secuencia de
caracteres respetando los espacios, solo deben variar las letras mayúsculas a minúsculas.

Para usar esta función se usa datos de tipo String (mayormente) o Char; esto exige el ingreso
de la cadena dentro de comillas.

Por ejemplo se le asigna la siguiente cadena a la función y se corre la macro.

LCase(“PRUEBAexcel 88”) = en la celda asignada debe mostrar: pruebaexcel 88

También podemos utilizar la programación para convertir el texto de una celda determinada a
minúsculas:

Sub Macro1()

texto = Range(“B7”)

Range(“B8”) = LCase(texto)

End Sub

En este caso todo lo que se ingrese en la celda B7 será convertido en minúsculas.

Devuelve una cadena o un carácter que contiene la cadena especificada convertida en


mayúsculas.

Ejemplo:

En este ejemplo se utiliza la función UCase para devolver la versión en mayúsculas de una
cadena.

' String to convert.

Dim LowerCase As String = "Hello World 1234"

' Returns "HELLO WORLD 1234".

Dim UpperCase As String = UCase(LowerCase)


Funciones de cadena (Visual Basic)

En la tabla siguiente se enumera las funciones que proporciona Visual Basic para buscar y
manipular cadenas.

Método de .NET framework Descripción

Asc, AscW Devuelve un Integer valor que representa el código de carácter


correspondiente a un carácter.

Chr, ChrW Devuelve el carácter asociado al código de carácter especificado.

Filter Devuelve una matriz de base cero que contiene un subconjunto de un String matriz
basándose en criterios de filtro especificados.

Format Devuelve una cadena con formato según las instrucciones contenidas en un formato
String expresión.

FormatCurrency Devuelve una expresión con formato como un valor de moneda


mediante el símbolo de moneda definido en el panel de control del sistema.

FormatDateTime Devuelve una expresión de cadena que representa un valor de fecha y


hora.

FormatNumber Devuelve una expresión con formato de un número.

FormatPercent Devuelve una expresión con formato de porcentaje (es decir, multiplicada por
100) con un carácter % final.

InStr Devuelve un entero que especifica la posición inicial de la primera aparición de una
cadena dentro de otra.

InStrRev Devuelve la posición de la primera aparición de una cadena dentro de otra,


empezando por el lado derecho de la cadena.

Join Devuelve una cadena creada mediante la combinación de un número de subcadenas


contenidas en una matriz.

LCase Devuelve una cadena o carácter convertido a minúsculas.

Left Devuelve una cadena que contiene un número especificado de caracteres del lado
izquierdo de una cadena.

Len Devuelve un entero que contiene el número de caracteres de una cadena.

LSet Devuelve una cadena alineada a la izquierda que contiene la cadena especificada
ajustada a la longitud especificada.

LTrim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
iniciales.

Mid Devuelve una cadena que contiene un número especificado de caracteres de una
cadena.

ReplaceDevuelve una cadena en la que una subcadena especificada se ha reemplazado por


otra subcadena un número especificado de veces.

Right Devuelve una cadena que contiene un número especificado de caracteres desde el
lado derecho de una cadena.
RSet Devuelve una cadena alineada a la derecha que contiene la cadena especificada
ajustada a la longitud especificada.

RTrim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
finales.

Space Devuelve una cadena que consta del número especificado de espacios.

Split Devuelve una matriz unidimensional de base cero que contiene un número
especificado de subcadenas.

StrComp Devuelve -1, 0 o 1, en función del resultado de una comparación de cadenas.

StrConvDevuelve una cadena convertida según lo especificado.

StrDup Devuelve una cadena u objeto que se compone del carácter especificado repetido el
número especificado de veces.

StrReverse Devuelve una cadena en la que se invierte el orden de los caracteres de una
cadena especificada.

Trim Devuelve una cadena que contiene una copia de una cadena especificada sin espacios
iniciales ni finales.

UCase Devuelve una cadena o un carácter que contiene la cadena especificada convertida en
mayúsculas.

Puede usar el Option Compare determinado por la configuración regional del sistema de
criterio de ordenación de instrucción que se debe establecer si se comparan las cadenas con
un texto entre mayúsculas y minúsculas (Text) o por las representaciones binarias internas de
los caracteres ( Binary). El método de comparación de texto predeterminado es Binary.

Ejemplo

Este ejemplo se utiliza la UCase función para devolver una versión en mayúsculas de una
cadena.

VB

Copiar

' String to convert.

Dim LowerCase As String = "Hello World 1234"

' Returns "HELLO WORLD 1234".

Dim UpperCase As String = UCase(LowerCase)

Ejemplo

Este ejemplo se utiliza la LTrim función para quitar los espacios iniciales y la RTrim espacios de
función para quitar los finales de una variable de cadena. Usa el Trim función para quitar
ambos tipos de espacios.
VB

Copiar

' Initializes string.

Dim TestString As String = " <-Trim-> "

Dim TrimString As String

' Returns "<-Trim-> ".

TrimString = LTrim(TestString)

' Returns " <-Trim->".

TrimString = RTrim(TestString)

' Returns "<-Trim->".

TrimString = LTrim(RTrim(TestString))

' Using the Trim function alone achieves the same result.

' Returns "<-Trim->".

TrimString = Trim(TestString)

Ejemplo

Este ejemplo se utiliza la Mid función devuelva un número especificado de caracteres de una
cadena.

VB

Copiar

' Creates text string.

Dim TestString As String = "Mid Function Demo"

' Returns "Mid".

Dim FirstWord As String = Mid(TestString, 1, 3)

' Returns "Demo".

Dim LastWord As String = Mid(TestString, 14, 4)

' Returns "Function Demo".

Dim MidWords As String = Mid(TestString, 5)

Ejemplo

Este ejemplo se utiliza Len para devolver el número de caracteres en una cadena.
VB

Copiar

' Initializes variable.

Dim TestString As String = "Hello World"

' Returns 11.

Dim TestLen As Integer = Len(TestString)

Ejemplo

Este ejemplo se utiliza la InStr función para devolver la posición de la primera aparición de una
cadena dentro de otra.

VB

Copiar

' String to search in.

Dim SearchString As String = "XXpXXpXXPXXP"

' Search for "P".

Dim SearchChar As String = "P"

Dim TestPos As Integer

' A textual comparison starting at position 4. Returns 6.

TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)

' A binary comparison starting at position 1. Returns 9.

TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)

' If Option Compare is not set, or set to Binary, return 9.

' If Option Compare is set to Text, returns 3.

TestPos = InStr(SearchString, SearchChar)

' Returns 0.

TestPos = InStr(1, SearchString, "W")

Ejemplo

En este ejemplo se muestra varios usos de la Format función para dar formato a valores
utilizando tanto String formatos y formatos definidos por el usuario. Para el separador de
fecha (/), separador de hora (:) y los indicadores de AM/PM (t y tt), el resultado con formato
real mostrado por el sistema depende de la configuración regional que se está usando el
código. Cuando horas y fechas se muestran en el entorno de desarrollo, se utilizan el formato
de hora corta y el formato de fecha corta de la configuración regional del código.

Nota

Para las configuraciones regionales que utilizan el reloj de 24 horas, los indicadores de AM/PM
(t y tt) mostrar nada.

VB

Copiar

Dim TestDateTime As Date = #1/27/2001 5:04:23 PM#

Dim TestStr As String

' Returns current system time in the system-defined long time format.

TestStr = Format(Now(), "Long Time")

' Returns current system date in the system-defined long date format.

TestStr = Format(Now(), "Long Date")

' Also returns current system date in the system-defined long date

' format, using the single letter code for the format.

TestStr = Format(Now(), "D")

' Returns the value of TestDateTime in user-defined date/time formats.

' Returns "5:4:23".

TestStr = Format(TestDateTime, "h:m:s")

' Returns "05:04:23 PM".

TestStr = Format(TestDateTime, "hh:mm:ss tt")

' Returns "Saturday, Jan 27 2001".

TestStr = Format(TestDateTime, "dddd, MMM d yyyy")

' Returns "17:04:23".

TestStr = Format(TestDateTime, "HH:mm:ss")

' Returns "23".

TestStr = Format(23)
' User-defined numeric formats.

' Returns "5,459.40".

TestStr = Format(5459.4, "##,##0.00")

' Returns "334.90".

TestStr = Format(334.9, "###0.00")

' Returns "500.00%".

TestStr = Format(5, "0.00%")

También podría gustarte