Přejít k hlavnímu obsahu

Jak extrahovat poslední číslo z textového řetězce v aplikaci Excel?

Předpokládejme, že máte seznam textových řetězců, které se mísí s texty a čísly, nyní musíte extrahovat poslední sadu čísel, jak ukazuje následující snímek obrazovky. Jak byste mohli zvládnout tuto práci v aplikaci Excel?

Extrahujte poslední čísla z textových řetězců pomocí kódu VBA


Extrahujte poslední čísla z textových řetězců pomocí kódu VBA

Chcete-li rychle extrahovat poslední sadu čísel z textových řetězců, můžete použít následující kód VBA. Udělejte prosím toto:

1. Podržte ALT + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2, klikněte Vložit > Modul, poté zkopírujte a vložte následující kód do souboru Modul Okno.

Kód VBA: Extrahujte poslední čísla z textových řetězců:

Sub GetLastDigits()
'Updateby Extendoffice
    Dim xRg As Range
    Dim xCell As Range
    Dim xRegEx As Object
    Dim xRetList As Object
    Dim xAddress As String
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the range:", "Kutools for Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
       MsgBox "Only one column can be available", vbInformation, "Kutools for Excel"
       Exit Sub
    End If
    Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
    With xRegEx
        .MultiLine = False
        .Global = True
        .IgnoreCase = True
        .Pattern = "(\d+)"
    End With
    For Each xCell In xRg
        Set xRetList = xRegEx.Execute(xCell.Value)
        If xRetList.Count > 0 Then
            If Left(xRetList(xRetList.Count - 1), 1) = 0 Then
                xCell.Offset(0, 1) = Right(xRetList(xRetList.Count - 1), Len(xRetList(xRetList.Count - 1)) - 1)
            Else
                xCell.Offset(0, 1) = xRetList(xRetList.Count - 1)
            End If
        End If
    Next
End Sub

3. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, které vám připomene, abyste vybrali rozsah dat, který chcete použít, viz screenshot:

4. A pak klikněte na tlačítko OK tlačítko a poslední sada čísel byla extrahována z každého textového řetězce do sousedních buněk sloupce, viz screenshot:

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
this code pulled the first set of numbers if no numbers were at the end of the cell.
if numbers were at the end of a cell, these numbers were pulled.
this code half way worked but
This comment was minimized by the moderator on the site
I'm sure it will be possible.
This comment was minimized by the moderator on the site
how do that without using vba?
This comment was minimized by the moderator on the site
Hi,
Sorry, maybe there is no other direct method for getting the result. If anyone have the solution, please comment here.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations