Razdeli besedilne nize z ločilom v več vrstic – 3 hitri triki
Običajno lahko s funkcijo Besedilo v stolpec razdelite vsebino celice v več stolpcev z določenim ločilom, kot je vejica, pika, podpičje, poševnica itd. Toda včasih boste morda morali vsebino razmejene celice razdeliti v več vrstic in ponovite podatke iz drugih stolpcev, kot je prikazano na spodnjem posnetku zaslona. Ali imate kakšen dober način za reševanje te naloge v Excelu? Ta vadnica bo predstavila nekaj učinkovitih metod za dokončanje tega dela v Excelu.
V tem razdelku bom predstavil dve kodi VBA za pomoč pri razdelitvi vsebine celice, ki sta ločeni z določenim ločilom.
Če želite razdeliti besedilne nize, ki so ločeni z običajnim ločilom, kot je vejica, presledek, podpičje, poševnica itd., vam lahko naslednja koda naredi uslugo. Sledite spodnjim korakom:
Opombe: Ta koda ne podpora Razveljavi, raje varnostno kopirajte podatke, preden uporabite to kodo.
1. korak: Odprite urejevalnik modulov VBA in kopirajte kodo
1. Aktivirajte list, ki ga želite uporabiti. In nato pritisnite Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.
2. V odprtem oknu kliknite Vstavi > Moduli da ustvarite nov prazen modul.
3. Nato kopirajte in prilepite spodnjo kodo v prazen modul.
Koda VBA: Razdeli besedilo z določenim ločilom (vejica, pika, presledek itd.)
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
If xSplitChar = "" Then Exit Sub
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
2. korak: Izvedite kodo, da dobite rezultat
1. Ko prilepite kodo, pritisnite F5 ključ za zagon te kode. Nato se prikaže okno s pozivom, ki vas opomni, da izberete celice, ki vsebujejo razmejeno besedilo, ki ga želite razdeliti, glejte posnetek zaslona:
2. Nato kliknite OK, se prikaže še eno okno s pozivom, ki vas opomni, da vnesete ločilo, na podlagi katerega želite razdeliti podatke. Tukaj vtipkam vejico in presledek (,), glej posnetek zaslona:
3. Končno kliknite OK gumb. Zdaj boste videli, da so izbrani besedilni nizi razdeljeni v vrstice na podlagi vejice in podatki drugih relativnih stolpcev se ponavljajo, kot so prikazani spodnji posnetki zaslona:
Če je vsebina vaše celice ločena s prelomi vrstic, jo lahko razdelite na več vrstic, tu je še ena koda VBA, ki vam lahko pomaga.
Opombe: Ta koda ne podpora Razveljavi bolje je, da varnostno kopirate podatke, preden uporabite to kodo.
1. korak: Odprite urejevalnik modulov VBA in kopirajte kodo
1. Pritisnite Alt + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.
2. V odprtem oknu kliknite Vstavi > Moduli da ustvarite nov prazen modul.
3. Nato kopirajte in prilepite spodnjo kodo v prazen modul.
Koda VBA: razdeli besedilo po prelomu vrstice
Sub SplitTextIntoRows()
'UpdatebyExtendoffice
Dim xSRg, xIptRg, xCrRg, xRg As Range
Dim xSplitChar As String
Dim xArr As Variant
Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
Dim xWSh As Worksheet
Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
If xSRg Is Nothing Then Exit Sub
xSplitChar = Chr(10)
Application.ScreenUpdating = False
xRow = xSRg.Row
xColumn = xSRg.Column
Set xWSh = xSRg.Worksheet
For xFNum = xSRg.Rows.Count To 1 Step -1
Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
xArr = Split(xRg, xSplitChar)
xIndex = UBound(xArr)
For xFFNum = LBound(xArr) To UBound(xArr)
xRg.EntireRow.Copy
xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
xIndex = xIndex - 1
Next
xRg.EntireRow.Delete
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
2. korak: Izvedite kodo, da dobite rezultat
1. Ko prilepite kodo, pritisnite F5 ključ za zagon te kode. V oknu, ki se odpre, izberite celice, ki jih želite razdeliti, glejte posnetek zaslona:
2. Nato kliknite OK gumb, so podatki v izbranih celicah razdeljeni v vrstice, kot je prikazano na spodnjem posnetku zaslona:
Če ste namestili Kutools za Excel, Z njegovim Razdeli podatke v vrstice lahko besedilne nize razdelite v več vrstic s poljubnim ločilom, ki ste ga določili. Izvedite naslednje korake:
1. korak: izberite funkcijo Razdeli podatke v vrstice
klik Kutools > Spoji in razdeli > Razdeli podatke v vrstice, glej posnetek zaslona:
2. korak: Določite podatkovne celice in ločilo za razdelitev
V pogovornem oknu, ki se odpre, uporabite naslednje možnosti:
Zdaj so bile izbrane celice z razmejenimi besedilnimi nizi pretvorjene v več vrstic na podlagi določenega ločila, glejte posnetek zaslona:
nasveti: Če želite obnoviti izvirne podatke, morate samo pritisniti Ctrl + Z za razveljavitev.
Enostaven za uporabo? Vas zanima ta funkcija, prosim kliknite za prenos in dobite brezplačno preskusno različico za 30 dni.
Če uporabljate Office 365 ali Excel 2016 in novejše različice, poizvedba o moči je zmogljivo orodje, ki vam lahko pomaga razdeliti ločeno besedilo v več vrstic ali stolpcev. Uporabno je, če želite, da se razdeljeni podatki osvežijo, ko se spremenijo izvirni podatki. Za dokončanje naredite naslednje korake:
1. korak: Prenesite podatkovno tabelo v Power Query
1. Izberite obseg podatkov, ki ga želite uporabiti, nato kliknite datum > Iz tabele, glej posnetek zaslona:
nasveti: V Excelu 2019 in Office 365 kliknite datum > Iz tabele/razpona.
2. V popped-out Ustvari tabelo pogovorno okno, kliknite OK gumb za ustvarjanje tabele, glejte posnetek zaslona:
3. Zdaj pa poizvedba o moči urednik prikaže se okno s podatki, glejte posnetek zaslona:
2. korak: Izvedite transformacije v Power Query
1. Izberite stolpec, ki ga želite razdeliti. In nato kliknite Home > Razdeljen stolpec > Z ločilom, glej posnetek zaslona:
2. V Ljubljani Razdeli stolpec z ločilom pogovorno okno:
Če želite besedilne nize razdeliti z vejico, presledkom, podpičjem itd., naredite naslednje:
Če želite besedilne nize razdeliti v več vrstic s prelomom povezave, naredite naslednje:
3. Zdaj so bili izbrani podatki razdeljeni v več vrstic, kot je prikazano na spodnjem posnetku zaslona:
3. korak: Izpis Power Query v Excelovo tabelo
1. Nato bi morali podatke izpisati v svoj delovni list. Kliknite prosim Home > Zapri in naloži > Zapri in naloži / Zapri in naloži v, (tukaj kliknem Zapri in naloži), glej posnetek zaslona:
nasveti: Kliknite Zapri in naloži bo izpisal podatke na nov delovni list; Kliknite Zapri in naloži v možnost, bodo podatki izpisani na katerem koli drugem listu, ki ga potrebujete.
2. Končno bodo podatki naloženi na nov delovni list, glejte posnetek zaslona:
nasveti: Če morate svoje podatke v izvirni tabeli pogosto posodabljati, vas prosimo, da ne skrbite, samo z desno miškino tipko kliknite tabelo z rezultati in kliknite Osveži da dobite nov rezultat dinamično.