Metin Dizelerini Sınırlayıcıya Göre Birden Çok Satıra Bölün - 3 Hızlı Hile
Normalde, hücre içeriğini virgül, nokta, noktalı virgül, eğik çizgi vb. gibi belirli bir sınırlayıcıyla birden çok sütuna bölmek için Metni Sütuna özelliğini kullanabilirsiniz. Ancak bazen, ayrılmış hücre içeriğini birden çok satıra bölmeniz gerekebilir. ve aşağıda gösterilen ekran görüntüsü gibi diğer sütunlardaki verileri tekrarlayın. Excel'de bu görevi halletmek için herhangi bir iyi yolunuz var mı? Bu öğretici, Excel'de bu işi tamamlamak için bazı etkili yöntemleri tanıtacaktır.
Bu bölümde, belirli bir sınırlayıcı ile ayrılmış hücre içeriklerini bölmeye yardımcı olacak iki VBA kodunu tanıtacağım.
Virgül, boşluk, noktalı virgül, eğik çizgi gibi bazı normal sınırlayıcılarla ayrılmış metin dizelerini bölmek için aşağıdaki kod size bir iyilik yapabilir. Lütfen aşağıdaki adımları izleyin:
not: Bu kod etmez destek geri al, bu kodu uygulamadan önce verileri yedeklemeniz daha iyi olur.
Adım 1: VBA modül düzenleyicisini açın ve kodu kopyalayın
1. Kullanmak istediğiniz sayfayı etkinleştirin. ve ardından, tuşuna basın Alt + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. Açılan pencerede tıklayın. Ekle > modül yeni bir boş modül oluşturmak için.
3. Ardından aşağıdaki kodu boş modüle kopyalayıp yapıştırın.
VBA kodu: Metni belirli bir sınırlayıcıya (virgül, nokta, boşluk vb.) göre ayırın.
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. Adım: Sonucu almak için kodu yürütün
1. Kodu yapıştırdıktan sonra lütfen F5 Bu kodu çalıştırmak için tuş. Ardından, bölmek istediğiniz sınırlandırılmış metni içeren hücreleri seçtiğinizi hatırlatmak için bir bilgi istemi kutusu açılır, ekran görüntüsüne bakın:
2. Ardından, tıklayın OK, verileri temel alarak bölmek istediğiniz ayırıcıyı yazmanızı hatırlatmak için başka bir bilgi istemi kutusu açılır. Burada bir virgül ve bir boşluk (, ) yazıyorum, ekran görüntüsüne bakın:
3. Sonunda, tıklayın OK düğme. Şimdi, seçilen metin dizelerinin virgüle göre satırlara ayrıldığını ve diğer ilgili sütun verilerinin aşağıda gösterilen ekran görüntüleri gibi tekrarlandığını göreceksiniz:
Hücre içerikleriniz satır sonlarıyla ayrılmışsa, onları birden çok satıra bölmek için işte size yardımcı olabilecek başka bir VBA kodu.
not: Bu kod etmez destek geri al bu kodu uygulamadan önce verileri yedeklemeniz daha iyi olur.
Adım 1: VBA modül düzenleyicisini açın ve kodu kopyalayın
1. Basın Alt + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. Açılan pencerede tıklayın. Ekle > modül yeni bir boş modül oluşturmak için.
3. Ardından aşağıdaki kodu boş modüle kopyalayıp yapıştırın.
VBA kodu: Metni satır sonu ile böl
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. Adım: Sonucu almak için kodu yürütün
1. Kodu yapıştırdıktan sonra lütfen F5 Bu kodu çalıştırmak için tuş. Çıkan kutuda lütfen bölmek istediğiniz hücreleri seçin, ekran görüntüsüne bakın:
2. Ardından, tıklayın OK düğmesi, seçilen hücrelerdeki veriler aşağıda gösterilen ekran görüntüsü gibi satırlara bölünür:
Yüklediyseniz Kutools for Excel, Onun ile Verileri Satırlara Böl özelliği, belirttiğiniz herhangi bir sınırlayıcı ile metin dizelerini birden çok satıra bölebilirsiniz. Lütfen aşağıdaki adımlarla yapın:
1. Adım: Verileri Satırlara Böl özelliğini seçin
Tıkla Kutools > Birleştir ve Böl > Verileri Satırlara Böl, ekran görüntüsüne bakın:
2. Adım: Bölme için veri hücrelerini ve sınırlayıcıyı belirtin
Çıkan iletişim kutusunda aşağıdaki seçenekleri kullanın:
Şimdi, sınırlandırılmış metin dizelerine sahip seçili hücreler, belirli ayırıcıya göre birden çok satıra dönüştürüldü, ekran görüntüsüne bakın:
İpuçları: Orijinal verileri geri yüklemek istiyorsanız, sadece tuşuna basmanız yeterlidir. Ctrl + Z geri almak için.
Kullanımı kolay? Bu özellikle ilgileniyorsanız, lütfen 30 gün boyunca ücretsiz deneme almak için indirmek için tıklayın.
Office 365 veya Excel 2016 ve sonraki sürümleri çalıştırıyorsanız, Güç Sorgu ayrılmış metni birden çok satıra veya sütuna bölmenize yardımcı olabilecek güçlü bir araçtır. Orijinal verileriniz değiştiğinde bölünmüş verilerin yenilenmesini istiyorsanız kullanışlıdır. Bitirmek için lütfen aşağıdaki adımları uygulayın:
1. Adım: Veri tablosunu Power Query'ye alın
1. Kullanmak istediğiniz veri aralığını seçin ve ardından Veri > Tablodan, ekran görüntüsüne bakın:
İpuçları: Excel 2019 ve Office 365'te, Veri > Tablodan/Aralıktan.
2. Açılan pencerede Tablo Oluştur iletişim kutusunu tıklayın OK Bir tablo oluşturmak için düğme, ekran görüntüsüne bakın:
3. Şimdi Güç Sorgu editör pencere verilerle birlikte görüntülenir, ekran görüntüsüne bakın:
2. Adım: Power Query'de dönüşümleri yapın
1. Bölmek istediğiniz sütunu seçin. Ve sonra tıklayın Ana Sayfa > Bölünmüş Sütun > Sınırlayıcıya göre, ekran görüntüsüne bakın:
2. içinde Sütunu Sınırlayıcıya Göre Böl iletişim kutusu:
Metin dizilerini virgül, boşluk, noktalı virgül vb. ile bölmek için lütfen şu şekilde yapın:
Metin dizelerini bağlantı kesme yoluyla birden çok satıra bölmek için lütfen şunu yapın:
3. Şimdi, seçilen veriler aşağıda gösterilen ekran görüntüsü gibi birden çok satıra bölünmüştür:
3. Adım: Power Query'yi bir Excel tablosuna çıkarın
1. Ardından, verileri çalışma sayfanıza çıkarmalısınız. lütfen tıklayın Ana Sayfa > Kapat ve Yükle > Kapat ve Yükle / Kapat & Yükle, (burada tıklayacağım Kapat ve Yükle), ekran görüntüsüne bakın:
İpuçları: Tıklayın Kapat ve Yükle verileri yeni bir çalışma sayfasına çıkarır; Tıklamak Kapat & Yükle seçeneği, veriler ihtiyacınız olan diğer herhangi bir sayfaya çıkarılacaktır.
2. Son olarak, veriler yeni bir çalışma sayfasına yüklenecektir, ekran görüntüsüne bakın:
İpuçları: Orijinal tablodaki verilerinizi sık sık güncellemeniz gerekiyorsa, lütfen endişelenmeyin, sonuç tablosuna sağ tıklayıp tıklamanız yeterlidir. Yenile yeni sonucu dinamik olarak almak için.