Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako pretvoriti besedilni niz v pravilen primer z izjemami v Excelu?

V Excelu lahko uporabite pravilno funkcijo za preprosto pretvorbo besedilnih nizov v pravilno zadevo, včasih pa morate izključiti nekatere posebne besede pri pretvorbi besedilnih nizov v pravilen primer, kot je prikazano na zaslonu. V tem članku bom govoril o nekaterih hitrih trikih za rešitev tega dela v Excelu.

Pretvorite besedilne nize v primer z izjemami z uporabo formule

Pretvorite besedilne nize v primer z izjemami z uporabo kode VBA


Pretvorite besedilne nize v primer z izjemami z uporabo formule


Morda je naslednja formula vam lahko hitro pomaga pri tej nalogi, storite tako:

Vnesite to formulo:

= "UPPER (LEFT (A2)) in MID (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (" "& PROPER (A2) &" "," Of "," of ")," A "," a "), "," je ")," ZDA "," ZDA ")), 2, LEN (A2)) v celico, kamor želite doseči rezultat, in nato povlecite polnilo za izpolnjevanje te formule, besedilo pa je pretvorjeno v ustrezen primer, vendar posebne izjeme, si oglejte sliko zaslona:

Opombe: V zgornji formuli, A2 je celica, ki jo želite pretvoriti, "Of", "A", "Je", "Usa" so običajne besede primera po pretvorbi, "Od", "a", "je", "ZDA" so besede, ki jih želite izključiti iz primera. Lahko jih spremenite na svojo potrebo ali dodate druge besede s funkcijo SUBSTITUTE.


Pretvorite besedilne nize v primer z izjemami z uporabo kode VBA

Če je zgornja formula nekoliko težka za razumevanje in se spremeni v vašo potrebo, tukaj lahko za dokončanje te naloge uporabite tudi kodo VBA. Prosimo, naredite naslednje korake po enega.

1. Drži dol ALT + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

2. Kliknite Vstavi > Moduli, in prilepite naslednjo kodo v Okno modula.

VBA koda: pretvorite besedilne nize v primeren primer z izjemami:

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. Nato pritisnite F5 ključ za zagon te kode in izpisano polje za hitro klicanje, ki vas opomni, da izberete izvirne celice, ki jih želite pretvoriti, glejte sliko zaslona:

4. In nato kliknite OK, izberite celice, v katerih želite prikazati rezultate v pop-up box-u, si oglejte posnetek zaslona:

5. Pojdi na klik OKin v pojavnem pogovornem oknu izberite besedila, ki jih želite izključiti, si oglejte posnetek zaslona:

6. In nato kliknite OK da zaprete pogovorna okna, vsi tekstovni nizi pa so bili pretvorjeni v ustrezen primer, vendar izključite podane besede, si oglejte posnetek zaslona:


Priporočena orodja za produktivnost za Excel

zavihek kte 201905

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
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 · 1 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.