Excel'de büyük bir tabloyu birden fazla küçük tabloya nasıl bölersiniz?
Eğer yüzlerce veya binlerce satır içeren çoklu sütunlara sahip büyük bir Excel tablonuz varsa, bunu daha küçük ve daha yönetilebilir tablolara bölmek isteyebilirsiniz. Örneğin, verileri belirli sütun değerlerine göre ayırmak veya sabit sayıda satırlara bölerek parçalamak isteyebilirsiniz. Bu öğretici, bu görevi verimli bir şekilde gerçekleştirmek için adım adım yöntemler sunar.
Ana Tablo | Tabloyu sütun değerine göre birden fazla tabloya bölme | Tabloyu satır sayısına göre birden fazla tabloya bölme | |
![]() | ![]() | ![]() | ![]() |
Büyük bir tabloyu VBA kodu ile sütun değerine göre birden fazla tabloya bölme
Büyük bir tabloyu VBA kodu ile belirli sayıda satıra göre birden fazla tabloya bölme
Büyük bir tabloyu VBA kodu ile sütun değerine göre birden fazla tabloya bölme
Bu büyük tabloyu belirli bir sütun değerine göre birden fazla tabloya bölmek için aşağıdaki VBA kodu size yardımcı olabilir. Lütfen şu adımları izleyin:
1. "Microsoft Visual Basic for Applications" penceresini açmak için "ALT" + "F11" tuşlarını basılı tutun.
2. "Ekle" > "Modül" seçeneğine tıklayın ve aşağıdaki kodu "Modül" Penceresine yapıştırın.
VBA kodu: Büyük bir tabloyu anahtar sütuna göre birden fazla tabloya bölme:
Sub Splitdatabycol()
'by 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
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
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").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. Kodu yapıştırdıktan sonra, kodu çalıştırmak için "F5" tuşuna basın ve bir uyarı kutusu açılacak; lütfen verilerinizden başlık satırını seçin, ekran görüntüsüne bakınız:
4. Ardından, "Tamam" düğmesine tıklayın ve başka bir diyalog kutusu açılacak; lütfen tabloyu bölmek istediğiniz sütun verilerini seçin, ekran görüntüsüne bakınız:
5. "Tamam" düğmesine tıklayın. Büyük tablo artık sütun değerlerine göre birden fazla çalışma sayfasına bölünmüş durumda ve yeni çalışma sayfaları ana çalışma sayfasından sonra yer alıyor. Yeni çalışma sayfaları ayrıca sütun değerleriyle isimlendiriliyor. Ekran görüntüsüne bakınız:
Büyük bir tabloyu VBA kodu ile belirli sayıda satıra göre birden fazla tabloya bölme
Eğer tabloyu satır sayısına göre birden fazla tabloya bölmek istiyorsanız, aşağıdaki VBA kodu size yardımcı olacaktır.
1. "Microsoft Visual Basic for Applications" penceresini açmak için "ALT" + "F11" tuşlarını basılı tutun.
2. "Ekle" > "Modül" seçeneğine tıklayın ve aşağıdaki kodu "Modül" Penceresine yapıştırın.
VBA kodu: Büyük bir tabloyu satır sayısına göre birden fazla tabloya bölme:
Sub Splitdatabyrows()
'Updated by Extendoffice
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (xIER - xRow.Row + 1) < SplitRow Then
resizeCount = (xIER - xRow.Row + 1)
End If
xRow.Resize(resizeCount).Copy
Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
If xIER > (xRow.Row + SplitRow - 1) Then
xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
ElseIf xIER = xRow.Row Then
xWs.Name = xRow.Row
Else
xWs.Name = xRow.Row & " - " & xIER
End If
Application.ActiveSheet.Range("A1").PasteSpecial
Set xNTRg = Application.ActiveSheet.Range("A1")
xTRg.Copy
xNTRg.Insert
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Ardından, "F5" tuşuna basın, açılan diyalog kutusunda başlık satırını seçin, ekran görüntüsüne bakınız:
4. Ardından, "Tamam" düğmesine tıklayın ve ikinci uyarı kutusunda, satır sayısına göre bölmek istediğiniz veri aralığını seçin, ekran görüntüsüne bakınız:
5. Ve ardından, "Tamam" düğmesine devam ederek tıklayın, üçüncü uyarı kutusunda bölmek istediğiniz satır sayısını girin, ekran görüntüsüne bakınız:
6. Sonra, "Tamam" düğmesine tıklayın, ana tablo artık aşağıdaki ekran görüntüsünde gösterildiği gibi satır sayısına göre birden fazla çalışma sayfasına bölünmüştür:
Kutools for Excel ile büyük bir tabloyu sütun değeri veya satır sayısına göre birden fazla tabloya bölme
Yukarıdaki kodlar çoğu kullanıcı için zor olabilir, burada harika bir özellik olan "Kutools for Excel"'in "Veriyi Böl" özelliğini tanıtacağım. Bu araçla, büyük bir tabloyu anahtar sütuna veya satır sayısına göre hızlı ve kolayca birden fazla tabloya bölebilirsiniz.
1. Bölmek istediğiniz veri aralığını seçin ve ardından "Kutools Plus" > "Veriyi Böl" seçeneğine tıklayın, ekran görüntüsüne bakınız:
2. "Veriyi Çoklu Çalışma Sayfalarına Böl" diyalog kutusunda, ihtiyacınıza göre ayarları belirtin:
(1.) İhtiyaçlarınıza göre "Bölme Temeli" bölümünden "Sütunu belirtin" veya "Sabit değer" seçeneğini seçin;
(2.) "Kural" açılır listesinden yeni çalışma sayfalarının adını belirtin, ayrıca sayfa adlarına "Önek" veya "Son Ek" ekleyebilirsiniz.
3. Ardından, "Tamam" düğmesine tıklayın ve şimdi, büyük tablo yeni bir çalışma kitabında birden fazla küçük tabloya bölünmüş durumda. Ekran görüntülerine bakınız:
Tabloyu sütun değerine göre birden fazla tabloya bölme | Tabloyu satır sayısına göre birden fazla tabloya bölme |
![]() | ![]() |
Kutools for Excel - Excel'i 300'den fazla temel araçla güçlendirin. Sürekli ücretsiz AI özelliklerinden yararlanın! Hemen Edinin
Daha fazla ilgili makale:
- Excel'de Bir Çalışma Kitabını Ayrı Excel Dosyalarına Bölme
- Güvenlik nedeniyle, büyük bir çalışma kitabını her bir çalışma sayfasını ayrı bir Excel dosyası olarak kaydederek bölmeniz gerekebilir. Örneğin, bir çalışma kitabını birden fazla bireysel Excel dosyasına ayırabilir ve ardından her bir dosyayı farklı kişilere teslim edebilirsiniz. Böylece, belirli kişilerin belirli verileri işlemesini sağlayabilir ve verilerinizi güvende tutabilirsiniz. Bu makale, her bir çalışma sayfasına göre büyük bir çalışma kitabını ayrı Excel dosyalarına bölmek için yollar tanıtmaktadır.
- Excel'de Tam Adı Ad ve Soyadına Ayırma
- Varsayalım ki aşağıdaki ilk ekran görüntüsünde gösterildiği gibi tek bir sütunda bir isim listesi var ve tam adı aşağıdaki ekran görüntüsünde gösterildiği gibi ad sütunu, ikinci ad sütunu ve soyad sütununa ayırmak istiyorsunuz. İşte bu sorunu çözmek için bazı pratik yöntemler.
- Excel'de Uzun Bir Sütunu Birden Fazla Sütuna Bölme
- Excel'de uzun bir sütun verisi varsa, bunları görüntülemek zor olabilir. Ancak şimdi bu uzun listeyi Excel'de birden fazla sütuna bölebilirseniz, görüntüleme işlemi daha rahat hale gelecektir.
- Excel'de Kelime veya Sayıyı Ayrı Hücrelere Bölme
- Bir çalışma sayfasında sayılar veya kelimeler listesi varsa ve hücre içeriklerini aşağıdaki ekran görüntüsünde gösterildiği gibi farklı hücrelere harfler halinde bölmek istiyorsanız, bu işi Excel'de nasıl çözebilirsiniz?
- Excel'de Uzun Bir Listeyi Eşit Gruplara Bölme
- Aşağıdaki ekran görüntüsünde gösterildiği gibi uzun bir listenin birden fazla eşit gruba bölünmesi gerekiyorsa, bu görevi Excel'de hızlı ve kolay bir şekilde nasıl çözersiniz?
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!