Pisahkan String Teks dengan Pembatas menjadi Beberapa Baris - 3 Trik Cepat
Biasanya, Anda dapat menggunakan fitur Teks ke Kolom untuk membagi konten sel menjadi beberapa kolom dengan pembatas tertentu, seperti koma, titik, titik koma, garis miring, dll. Namun, terkadang, Anda mungkin perlu membagi konten sel yang dibatasi menjadi beberapa baris dan ulangi data dari kolom lain seperti gambar di bawah ini. Apakah Anda memiliki cara yang baik untuk menangani tugas ini di Excel? Tutorial ini akan memperkenalkan beberapa metode efektif untuk menyelesaikan pekerjaan ini di Excel.
Pada bagian ini, saya akan memperkenalkan dua kode VBA untuk membantu membagi isi sel yang dipisahkan oleh pembatas tertentu.
Untuk memisahkan string teks yang dipisahkan oleh pembatas normal, seperti koma, spasi, titik koma, garis miring, dll., kode berikut dapat membantu Anda. Silakan ikuti langkah-langkah di bawah ini:
Note: Kode ini tidak mendukung membuka, Anda sebaiknya membuat cadangan data sebelum menerapkan kode ini.
Langkah 1: Buka editor modul VBA dan salin kodenya
1. Aktifkan sheet yang ingin digunakan. Dan kemudian, tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.
2. Di jendela yang terbuka, klik Menyisipkan > Modul untuk membuat modul kosong baru.
3. Kemudian, salin dan tempel kode di bawah ini ke dalam modul kosong.
Kode VBA: Pisahkan teks dengan pembatas tertentu (koma, titik, spasi, dll.)
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
Langkah 2: Jalankan kode untuk mendapatkan hasilnya
1. Setelah kode di paste, silahkan tekan F5 kunci untuk menjalankan kode ini. Kemudian, sebuah kotak prompt akan muncul untuk mengingatkan Anda memilih sel berisi teks yang dibatasi yang ingin Anda pisahkan, lihat tangkapan layar:
2. Kemudian, klik OK, kotak prompt lain muncul untuk mengingatkan Anda mengetik pemisah yang menjadi dasar pembagian data. Di sini, saya ketik koma dan spasi (, ), lihat tangkapan layar:
3. Terakhir, klik OK tombol. Sekarang, Anda akan melihat string teks yang dipilih dibagi menjadi baris berdasarkan koma dan data kolom relatif lainnya diulangi seperti screenshot di bawah ini:
Jika konten sel Anda dipisahkan oleh jeda baris, untuk membaginya menjadi beberapa baris, berikut adalah kode VBA lain yang dapat membantu Anda.
Note: Kode ini tidak mendukung membuka Anda sebaiknya membuat cadangan data sebelum menerapkan kode ini.
Langkah 1: Buka editor modul VBA dan salin kodenya
1. tekan Alt + F11 kunci untuk membuka Microsoft Visual Basic untuk Aplikasi jendela.
2. Di jendela yang terbuka, klik Menyisipkan > Modul untuk membuat modul kosong baru.
3. Kemudian, salin dan tempel kode di bawah ini ke dalam modul kosong.
Kode VBA: Pisahkan teks dengan jeda baris
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
Langkah 2: Jalankan kode untuk mendapatkan hasilnya
1. Setelah kode di paste, silahkan tekan F5 kunci untuk menjalankan kode ini. Di kotak yang muncul, pilih sel yang ingin Anda pisahkan, lihat tangkapan layar:
2. Kemudian, klik OK tombol, data dalam sel yang dipilih dibagi menjadi beberapa baris seperti gambar di bawah ini:
Jika sudah terpasang Kutools untuk Excel, Dengan yang Pisahkan Data ke Baris fitur, Anda dapat membagi string teks menjadi beberapa baris dengan pembatas apa pun yang Anda tentukan. Silakan lakukan dengan langkah-langkah berikut:
Langkah 1: Pilih fitur Split Data to Rows
Klik Kutools > Gabungkan & Pisahkan > Pisahkan Data ke Baris, lihat tangkapan layar:
Langkah 2: Tentukan sel data dan pembatas untuk pemisahan
Di kotak dialog yang muncul, gunakan opsi berikut:
Sekarang, sel yang dipilih dengan string teks yang dibatasi telah diubah menjadi beberapa baris berdasarkan pemisah tertentu, lihat tangkapan layar:
Tips: Jika Anda ingin mengembalikan data asli, Anda hanya perlu menekan Ctrl + Z untuk membatalkan.
Mudah digunakan? Tertarik dengan fitur ini, silakan klik untuk mengunduh untuk mendapatkan uji coba gratis selama 30 hari.
Jika Anda menjalankan Office 365 atau Excel 2016 dan versi yang lebih baru, Kueri Daya adalah alat yang ampuh yang dapat membantu Anda membagi teks yang dibatasi menjadi beberapa baris atau kolom. Ini berguna jika Anda ingin data yang dipisahkan disegarkan saat data asli Anda berubah. Silakan lakukan dengan langkah-langkah berikut untuk menyelesaikannya:
Langkah 1: Dapatkan tabel data ke Power Query
1. Pilih rentang data yang ingin Anda gunakan, lalu klik Data > Dari Table, lihat tangkapan layar:
Tips: Di Excel 2019 dan Office 365, klik Data > Dari Tabel/Rentang.
2. Di pop-out Buat tabel kotak dialog, klik OK tombol untuk membuat tabel, lihat tangkapan layar:
3. Sekarang, Kueri Daya editor jendela ditampilkan dengan data, lihat tangkapan layar:
Langkah 2: Lakukan transformasi di Power Query
1. Pilih kolom yang ingin Anda pisahkan. Dan kemudian, klik Beranda > Pisahkan Kolom > Oleh Pembatas, lihat tangkapan layar:
2. Dalam Pisahkan Kolom berdasarkan Pembatas kotak dialog:
Untuk memisahkan string teks dengan koma, spasi, titik koma, dll. lakukan seperti ini:
Untuk membagi string teks menjadi beberapa baris dengan pemutusan tautan, lakukan seperti ini:
3. Sekarang, data yang dipilih telah dipecah menjadi beberapa baris seperti gambar di bawah ini:
Langkah 3: Keluarkan Power Query ke tabel Excel
1. Dan kemudian, Anda harus menampilkan data ke dalam lembar kerja Anda. Silakan klik Beranda > Tutup & Muat > Tutup & Muat / Tutup & Muat Ke, (di sini, saya akan klik Tutup & Muat), lihat tangkapan layar:
Tips: Klik Tutup & Muat akan menampilkan data ke lembar kerja baru; Klik Tutup & Muat Ke opsi, data akan ditampilkan ke lembar lain yang Anda butuhkan.
2. Terakhir, data akan dimuat ke lembar kerja baru, lihat tangkapan layar:
Tips: Jika Anda perlu sering memperbarui data Anda di tabel asli, jangan khawatir, Anda hanya perlu mengklik kanan tabel hasil dan mengklik menyegarkan untuk mendapatkan hasil baru secara dinamis.