Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo convertir una cadena de texto al caso correcto con excepciones en Excel?

En Excel, puede aplicar la función Propia para convertir cadenas de texto al estuche adecuado fácilmente, pero, a veces, debe excluir algunas palabras específicas al convertir las cadenas de texto al caso apropiado como se muestra en la siguiente captura de pantalla. En este artículo, hablaré sobre algunos trucos rápidos para resolver este trabajo en Excel.

Convierta las cadenas de texto al caso adecuado con excepciones mediante el uso de la fórmula

Convierta las cadenas de texto al caso apropiado con excepciones usando el código VBA


Convierta las cadenas de texto al caso adecuado con excepciones mediante el uso de la fórmula


Puede ser la siguiente fórmula que puede ayudarlo a manejar esta tarea rápidamente, haga lo siguiente:

Ingresa esta fórmula:

= SUPERIOR (IZQUIERDA (A2)) & MID (TRIM (SUSTITUTO (SUSTITUTO (SUSTITUTO (SUSTITUTO ("" Y CORRECTO (A2) & "", "De", "de"), "A", "a"), "Es "," es ")," Estados Unidos "," EE. UU. ")), 2, LEN (A2)) en una celda donde desea obtener el resultado, y luego arrastre el controlador de relleno para llenar esta fórmula, y las cadenas de texto se han convertido en el caso adecuado, pero con excepciones específicas, vea la captura de pantalla:

Nota: En la fórmula anterior, A2 es la celda que quieres convertir, "De", "A", "Es", "Estados Unidos" son las palabras de mayúsculas y minúsculas normales después de la conversión, "De", "a", "es", "EE. UU." son las palabras que quiere excluir del caso adecuado. Puede cambiarlos a su necesidad o agregar otras palabras con la función SUSTITUIR.


Convierta las cadenas de texto al caso apropiado con excepciones usando el código VBA

Si la fórmula anterior es algo difícil de entender y cambia según sus necesidades, aquí también puede aplicar un código VBA para finalizar esta tarea. Por favor haz con los siguientes pasos uno por uno.

1. Mantenga presionado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en Ventana de módulo.

Código de VBA: convierte cadenas de texto al caso apropiado con excepciones:

Sub CellsValueChange()
'Updateby Extendoffice
    Dim xSRg As Range
    Dim xDRg As Range
    Dim xPRg As Range
    Dim xSRgArea As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim I As Long
    Dim K As Long
    Dim KK As Long
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
    If xDRg Is Nothing Then Exit Sub
    Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
    If xPRg Is Nothing Then Exit Sub
    Set xDRg = xDRg(1)
    For I = 1 To xSRg.Areas.Count
        Set xSRgArea = xSRg.Areas.Item(I)
        For K = 1 To xSRgArea.Count
            xRgVal = xSRgArea(K).Value
            If Not IsNumeric(xRgVal) Then
                xRgVal = CorrectCase(xRgVal, xPRg)
                xDRg.Offset(KK).Value = xRgVal
            End If
            KK = KK + 1
        Next
    Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
    Dim xArrWords As Variant
    Dim I As Integer
    Dim xPointer As Integer
    Dim xVal As String
    xPointer = 1
    xVal = xRgVal
    xArrWords = WordsOf(xRgVal)
    For I = 0 To UBound(xArrWords)
        xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
        Debug.Print xPointer
        Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
    Next I
    CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
    Dim xDelimiters As Variant
    Dim xArrRtn As Variant
    xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
    For Each xEachDelimiter In xDelimiters
        xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
    Next xEachDelimiter
    xArrRtn = Split(Trim(xRgVal), " ")
    WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
    With xERg
        If IsError(Application.Match(xArrWord, .Cells, 0)) Then
            CorrectCaseOneWord = Application.Proper(xArrWord)
        Else
            CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
        End If
    End With
End Function

3. Entonces presione F5 tecla para ejecutar este código, y se abre un cuadro de aviso para recordarle que seleccione las celdas originales que desea convertir, vea la captura de pantalla:

4. Y luego haz clic OK, seleccione las celdas donde desea generar los resultados en el recuadro desplegable, vea la captura de pantalla:

5. Continuar clic OK, y en el cuadro de diálogo emergente, seleccione los textos que desea excluir, vea la captura de pantalla:

6. Y luego haz clic OK para salir de los cuadros de diálogo, y todas las cadenas de texto se han convertido al caso apropiado pero excluyen las palabras especificadas, vea la captura de pantalla:


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Funciona con Office 2007-2019 y 365. Soporta todos los idiomas. Fácil despliegue en compañía. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Nathan · 3 months ago
    This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.