Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com convertir la cadena de text en un cas adequat amb excepcions a Excel?

En Excel, podeu aplicar la funció adequada per convertir fàcilment les cadenes de text al cas apropiat, però, de vegades, heu d'excloure algunes paraules específiques quan es converteixin les cadenes de text al cas apropiat, com es mostra a la següent captura de pantalla. En aquest article, parlaré d'alguns trucs ràpids per resoldre aquest treball a Excel.

Convertiu cadenes de text al cas adequat amb excepcions mitjançant l'ús de la fórmula

Convertiu cadenes de text al cas apropiat amb excepcions mitjançant el codi VBA


Convertiu cadenes de text al cas adequat amb excepcions mitjançant l'ús de la fórmula


Pot ser que la següent fórmula us ajudi a fer front a aquesta tasca amb rapidesa, feu això:

Introduïu aquesta fórmula:

= SUPERIOR (LEFT (A2)) i MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "", "From", "from"), "A", "a"), "Is "," is ")," Usa "," USA ")), 2, LEN (A2)) en una cel·la on voleu obtenir el resultat i, a continuació, arrossegueu l'identificador de farcit per omplir aquesta fórmula i les cadenes de text s'han convertit en un cas apropiat però amb excepcions específiques, vegeu captura de pantalla:

Nota: A la fórmula anterior, A2 és la cel·la que voleu convertir, "De", "A", "És", "Usa" són les paraules del cas propi normal després de la conversió, "De", "a", "és", "EUA" són les paraules que voleu excloure del cas apropiat. Podeu canviar-los a la vostra necessitat o afegir-ne altres amb la funció SUBSTITUTE.


Convertiu cadenes de text al cas apropiat amb excepcions mitjançant el codi VBA

Si la fórmula anterior és una mica difícil d'entendre i canviar a la vostra necessitat, aquí també podeu aplicar un codi VBA per finalitzar aquesta tasca. Si us plau, feu els següents passos un per un.

1. Mantingueu premut el botó ALT + F11 claus per obrir el Microsoft Visual Basic per a aplicacions finestra.

2. Clic Insereix > Mòduls, i enganxeu el següent codi al Finestra de mòduls.

Codi VBA: converteix cadenes de text al cas apropiat amb excepcions:

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. A continuació, premeu F5 la clau per executar aquest codi i apareix una caixa ràpida per recordar-vos que voleu seleccionar les cel·les originals que voleu convertir, consulteu la captura de pantalla:

4. A continuació, feu clic a OK, seleccioneu les cel·les on voleu enviar els resultats al quadre emergent, vegeu la captura de pantalla:

5. Continua fent clic OK, i al quadre de diàleg emergent, seleccioneu els textos que voleu excloure, vegeu captura de pantalla:

6. A continuació, feu clic a OK per sortir dels diàlegs i totes les cadenes de text s'han convertit al cas adequat però exclouen les paraules especificades, vegeu la captura de pantalla:



Eines de productivitat recomanades

Pestanya d'Office

estrella d'or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d'or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d'or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a Excel

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.

Be the first to comment.