Excel İpuçları: Veriyi sütun değerine göre birden fazla çalışma sayfasına / çalışma kitabına bölme
Excel'de büyük veri setleri yönetirken, veriyi belirli sütun değerlerine göre birden fazla çalışma sayfasına bölmek oldukça faydalı olabilir. Bu yöntem yalnızca verinin düzenlenmesini değil, aynı zamanda okunabilirliği artırır ve daha kolay veri analizi sağlar.
Diyelim ki, birinci çeyrek için satılan ürün adı ve miktarı gibi birden fazla girdi içeren büyük bir satış kaydınız var. Amaç, bu veriyi her bir ürün adına göre ayrı çalışma sayfalarına bölmek, böylece bireysel satış performanslarının ayrı ayrı analiz edilmesini sağlamaktır.
Veriyi sütun değerine göre birden fazla çalışma sayfasına bölme
VBA kodu ile sütun değerine göre veriyi birden fazla çalışma kitabına bölme
Sütun değerine göre veriyi birden fazla çalışma sayfasına bölme
Normalde, önce veri listesini sıralayabilir ve ardından bunları teker teker yeni çalışma sayfalarına kopyalayıp yapıştırabilirsiniz. Ancak bu işlem sabırla sürekli kopyalama ve yapıştırma gerektirir. Bu bölümde, size zaman kazandıracak ve hata potansiyelini azaltacak iki basit yöntem tanıtacağız.
VBA kodu ile sütun değerine göre veriyi birden fazla çalışma sayfasına bölme
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle > Modül'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
Sub Splitdatabycol()
'updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub
3. Ardından, F5 tuşuna basarak kodu çalıştırın ve size başlık satırını seçmenizi hatırlatan bir uyarı kutusu açılacaktır, ardından Tamam'a tıklayın. Ekran görüntüsüne bakın:
4. İkinci uyarı kutusunda, lütfen veriyi bölmek istediğiniz sütun verisini seçin, ardından Tamam'a tıklayın. Ekran görüntüsüne bakın:
5. Aktif çalışma sayfasındaki tüm veriler, sütun değerlerine göre birden fazla çalışma sayfasına bölünür. Oluşturulan çalışma sayfaları, bölünmüş hücrelerdeki değerlere göre adlandırılır ve çalışma kitabının sonuna yerleştirilir. Ekran görüntüsüne bakın:
Kutools for Excel ile sütun değerine göre veriyi birden fazla çalışma sayfasına bölme
Kutools for Excel, akıllı bir özellik olan Split Data'yı doğrudan Excel ortamınıza getirir. Veriyi birden fazla çalışma sayfasına bölmek artık bir zorluk değil. Sezgisel aracımız, veri setinizi seçilen sütun değerine veya satır sayısına göre otomatik olarak böler, böylece her bilgi parçası tam da ihtiyacınız olan yerde olur. Manüel olarak elektronik tablolarınızı düzenleme işleminin sıkıcı görevinden kurtulun ve verilerinizi daha hızlı ve hatasız bir şekilde yönetmek için bu yöntemi benimseyin.
Kutools for Excel'i yükledikten sonra, veri aralığını seçin ve ardından Kutools Plus > Split Data'ya tıklayarak Veriyi Birden Fazla Çalışma Sayfasına Böl iletişim kutusunu açın.
- Split based on bölümünde Belirli sütun seçeneğini seçin ve veriyi bölmek istediğiniz sütun değerini açılır listeden seçin.
- Verinizde başlıklar varsa ve bunları her yeni bölünmüş çalışma sayfasına eklemek istiyorsanız, lütfen Verimde Başlıklar Var seçeneğini işaretleyin. (Başlık satır sayısını verinize göre belirleyebilirsiniz. Örneğin, verinizde iki başlık varsa, 2 yazın.)
- Ardından, Yeni Çalışma Sayfası Adı bölümünde, çalışma sayfası adı kurallarını Rules açılır listesinden belirleyebilir, ayrıca sayfa adlarına Ön Ek veya Son Ek ekleyebilirsiniz.
- Tıklayın Tamam düğmesine basın. Ekran görüntüsüne bakın:
Şimdi, çalışma sayfasındaki veri yeni bir çalışma kitabında birden fazla çalışma sayfasına bölünmüştür.
VBA kodu ile sütun değerine göre veriyi birden fazla çalışma kitabına bölme
Bazen veriyi birden fazla çalışma sayfasına bölmek yerine, anahtar sütuna göre veriyi ayrı çalışma kitaplarına bölmek daha yararlı olabilir. İşte VBA kodu kullanarak belirli bir sütun değerine göre veriyi birden fazla çalışma kitabına bölmek için adım adım bir rehber.
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle > Modül'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
Sub SplitDataByColToWorkbooks()
' Updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWS As Workbook
Dim savePath As String
' Set the directory to save new workbooks
savePath = "C:\Users\AddinsVM001\Desktop\multiple files\" ' Modify this path as needed
Application.DisplayAlerts = False
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.Address(False, False)
titlerow = xTRg.Row
ws.Columns(vcol).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws.Cells(1, ws.Columns.Count), Unique:=True
myarr = Application.Transpose(ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).Value)
ws.Cells(1, ws.Columns.Count).Resize(ws.Cells(ws.Rows.Count, ws.Columns.Count).End(xlUp).Row).ClearContents
For i = 2 To UBound(myarr)
Set xWS = Workbooks.Add
ws.Range(title).AutoFilter Field:=vcol, Criteria1:=myarr(i)
ws.Range("A" & titlerow & ":A" & lr).SpecialCells(xlCellTypeVisible).EntireRow.Copy
xWS.Sheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteAll
xWS.SaveAs Filename:=savePath & myarr(i) & ".xlsx"
xWS.Close SaveChanges:=False
Next i
ws.AutoFilterMode = False
Application.DisplayAlerts = True
ws.Activate
End Sub
3. Ardından, F5 tuşuna basarak kodu çalıştırın ve size başlık satırını seçmenizi hatırlatan bir uyarı kutusu açılacaktır, ardından Tamam'a tıklayın. Ekran görüntüsüne bakın:
4. İkinci uyarı kutusunda, lütfen veriyi bölmek istediğiniz sütun verisini seçin, ardından Tamam'a tıklayın. Ekran görüntüsüne bakın:
5. Bölme işleminden sonra, aktif çalışma sayfasındaki tüm veriler sütun değerlerine göre birden fazla çalışma kitabına bölünür. Tüm bölünmüş çalışma kitapları belirttiğiniz klasöre kaydedilir. Ekran görüntüsüne bakın:
İlgili Makaleler:
- Satır sayısına göre veriyi birden fazla çalışma sayfasına bölme
- Belirli bir satır sayısına göre büyük bir veri aralığını birden fazla Excel çalışma sayfasına bölmek, veri yönetimini kolaylaştırabilir. Örneğin, bir veri setini her 5 satırda bir birden fazla sayfaya bölmek, daha yönetilebilir ve düzenli hale getirebilir. Bu kılavuz, bu görevi hızlı ve kolay bir şekilde gerçekleştirmek için iki pratik yöntem sunar.
- Anahtar sütunlara göre iki veya daha fazla tabloyu birleştirme
- Diyelim ki bir çalışma kitabında üç tablonuz var ve şimdi bu tabloları, aşağıda gösterilen ekran görüntüsünde olduğu gibi, karşılık gelen anahtar sütunlara göre tek bir tabloya birleştirmek istiyorsunuz. Bu, çoğu bizim için sorunlu bir görev olabilir, ancak endişelenmeyin, bu makalede bu sorunu çözmek için bazı yöntemler tanıtacağım.
- Ayraç ile Metin Dizelerini Birden Fazla Satıra Bölme
- Normalde, metni sütunlara dönüştürme özelliğini kullanarak hücre içeriklerini virgül, nokta, noktalı virgül, eğik çizgi vb. gibi belirli bir ayraçla birden fazla sütuna bölebilirsiniz. Ancak bazen, diğer sütunlardaki verileri tekrarlayarak ayrıştırılmış hücre içeriklerini birden fazla satıra bölmek isteyebilirsiniz. Excel'de bu görevle başa çıkmak için iyi bir yolunuz var mı? Bu öğretici, bu işi Excel'de tamamlamak için bazı etkili yöntemler tanıtmaktadır.
- Çok satırlı hücre içeriklerini ayrı satırlara/sütunlara bölme
- Alt + Enter ile ayrılmış çok satırlı hücre içeriğiniz olduğunu varsayalım ve şimdi çok satırlı içerikleri ayrı satırlara veya sütunlara bölmek istiyorsunuz, ne yapabilirsiniz? Bu makalede, çok satırlı hücre içeriklerini hızlı bir şekilde ayrı satırlara veya sütunlara nasıl bölebileceğinizi öğreneceksiniz.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!