Çerezler bize hizmetleri sunmak yardımcı olur. Hizmetlerimizi kullanarak, çerez kullanmamızı kabul etmiş olursunuz.
İpucu: Diğer diller Google Çeviri'dir. Ziyaret edebilirsiniz English Bu linkin sürümü.
Oturum aç
x
or
x
x
Şimdi Kayıt Olun
x

or

Excel'deki sütun temelinde birden çok çalışma sayfasına veri nasıl bölünürüm?

Büyük veri satırlarına sahip bir çalışma sayfanız olduğunu varsayarsak, şimdi, verileri, temel veri tabanını temel alarak birden çok çalışma sayfasına bölmeniz gerekir. İsim sütun (aşağıdaki ekran görüntüsüne bakınız) ve isimler rastgele girilir. Belki önce onları sıralayabilir ve sonra bunları kopyalayıp yeni çalışma sayfalarına tek tek yapıştırabilirsiniz. Ancak bu, tekrar tekrar kopyalayıp yapıştırmanız için sabrınıza ihtiyaç duyacaktır. Bugün, bu görevi çözmek için bazı hızlı hileler hakkında konuşacağım.

1 sütunlarına göre verileri bölme

Verileri, VBA kodu ile sütuna dayalı birden çok çalışma sayfasına bölme

Excel için Kutools ile sütuna dayalı birden fazla çalışma sayfasına veri bölme


Verileri, çalışma sayfasında belirli sütun veya satır sayısı temelinde birden çok çalışma sayfasına bölme:

Belirli bir sütun verisine veya satır sayısına bağlı olarak büyük bir çalışma sayfasını birden çok sayfaya bölmek istiyorsanız, Kutools for Excel's Veriyi Böl Bu özelliği hızlı ve kolay bir şekilde bu görevi çözmenize yardımcı olabilir.

6 sütunlarına göre verileri bölme

Kutools for Excel: 200'dan fazla kullanışlı Excel eklentisi ile 60 günlerinde herhangi bir sınırlama olmaksızın ücretsiz olarak çalışın. Şimdi indirin ve ücretsiz deneme!


Verileri, VBA kodu ile sütuna dayalı birden çok çalışma sayfasına bölme


Verileri sütun değerine dayalı olarak hızlı ve otomatik olarak bölmek istiyorsanız, aşağıdaki VBA kodu iyi bir seçimdir. Lütfen şu şekilde yapın:

1. Tuşunu basılı tutun. ALT + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresine yapıştırın.

Sub Splitdatabycol()
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. Daha sonra, tuşuna basın. F5 Kodu çalıştırmak için bir tuşa basın ve başlık satırını seçmenizi hatırlatmak için bir bilgi istemi kutusu açılır, ekran görüntüsüne bakın:

7 sütunlarına göre verileri bölme

4. Ve sonra tıklayın OK düğmesine basın ve ikinci bilgi istemi kutusunda, lütfen bölmek istediğiniz sütun verilerini seçin, ekran görüntüsüne bakın:

8 sütunlarına göre verileri bölme

5. Daha sonra, OKve etkin çalışma sayfasındaki tüm veriler, sütun değerine göre birden çok çalışma sayfasına bölünmüştür. Ve bölünmüş çalışma sayfaları, bölünmüş hücre adlarıyla adlandırılır. Ekran görüntüsüne bakın:

2 sütunlarına göre verileri bölme

notlar: Bölünmüş çalışma sayfaları, ana çalışma sayfasının bulunduğu çalışma kitabının sonuna yerleştirilir.


Excel için Kutools ile sütuna dayalı birden fazla çalışma sayfasına veri bölme

Bir Excel acemi olarak, bu uzun VBA kodu bizim için biraz zor ve çoğumuz bile kodumuzu ihtiyaç olarak nasıl değiştireceğimizi bilmiyoruz.

Burada size çok fonksiyonlu bir araç tanıtacağım--Kutools for Excelonun Veriyi Böl yardımcı programı yalnızca verileri sütuna dayalı birden çok çalışma sayfasına bölmek için değil, aynı zamanda satır sayısına göre verileri bölebilirsiniz.

Kutools for Excel : 300 günden fazla sınırlamaya gerek duymadan ücretsiz 60 kullanışlı Excel eklentileri ile.

Yüklediyseniz Kutools for Excel, lütfen şu şekilde yapın:

1. Bölmek istediğiniz veri aralığını seçin.

2. tıklayın Kutools Daha fazlası > Çalışma Sayfası > Veriyi Böl, ekran görüntüsüne bakın:

3 sütunlarına göre verileri bölme

3. In Verileri Birden Çok Çalışma Sayfasına Böl iletişim kutusunda, aşağıdakileri yapmanız gerekir:

1). seçmek Belli sütun seçeneği Üzerine bölünmüş bölümünü tıklayın ve veriyi açılır listeden ayırmak istediğiniz sütun değerini seçin. (Verileriniz üstbilgileri varsa ve bunları her yeni bölünmüş çalışma sayfasına eklemek istiyorsanız, lütfen kontrol edin Verilerimin başlıkları var seçeneği.)

2). Ardından, bölünmüş çalışma sayfası adlarını, Yeni çalışma sayfalarının adı bölümündeki çalışma sayfası adlarını belirtin. kurallar açılır listeyi Önek or Sonek sayfa adları için de.

3). Tıkla OK buton. Ekran görüntüsüne bakın:

4 sütunlarına göre verileri bölme

4. Şimdi veriler yeni bir çalışma kitabında birden çok çalışma sayfasına ayrılmıştır.

5 sütunlarına göre verileri bölme

Kutools for Excel ve ücretsiz deneme sürümünü indirmek için tıklayın!


Excel için Kutools ile sütuna dayalı birden fazla çalışma sayfasına veri bölme

Kutools for Excel 300'dan fazla kullanışlı Excel araçlarını içerir. 60 gün içinde sınırsız olarak denemek için ücretsiz. Şimdi ücretsiz deneme sürümünü indirin!


İlgili makale:

Verileri, satır sayısına göre birden çok çalışma sayfasına nasıl bölebilirim?



Önerilen Üretkenlik Araçları

Office Tab

altın yıldız1 Kullanışlı sekmeleri Excel, diğer Office yazılımlarına da tıpkı Chrome, Firefox ve yeni Internet Explorer gibi getirin.

Kutools for Excel

altın yıldız1 Şaşırtıcı! 5 dakika içinde üretkenliğinizi artırın. Herhangi bir özelliğe ihtiyacınız yoktur, her gün iki saat tasarruf edin!

altın yıldız1 300 Excel için Yeni Özellikler, Excel'i Çok Kolay ve Güçlü Yapın:

  • Hücre / Satırları / Sütunları Veri Kaybetmeden Birleştirin.
  • Birden Çok Levha ve Çalışma Kitabını Birleştirin ve Konsolide edin.
  • Aralıkları Karşılaştırma, Birden Fazla Aralık Kopyalama, Metni Tarihe Dönüştürme, Birim ve Para Birimi Dönüştürme.
  • Renklere Göre Sayma, Sayfalık Toplamlar, Gelişmiş Sıralama ve Süper Filtre,
  • Daha Seç / Ekle / Sil / Metin / Biçim / Bağlantı / Açıklama / Çalışma Kitabı / Çalışma Sayfası Araçları ...

Kutools for Excel&#39;in ekran görüntüsü

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Rudi Miller · 14 hours ago
    Sub parse_data()
    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
    vcol = 1
    Set ws = Sheets("Sheet1")
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = "A1:C1"
    titlerow = ws.Range(title).Cells(1).Row
    icol = ws.Columns.Count
    ws.Cells(1, icol) = "Unique"
    For i = 2 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
    ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
    Sheets(myarr(i) & "").Columns.AutoFit
    Next
    ws.AutoFilterMode = False
    ws.Activate
    End Sub
  • To post as a guest, your comment is unpublished.
    Jason · 1 months ago
    This formula is great, works perfectly for me.
    I want to split out data based on a location, which is in column 1. Which this does.
    However, is it possible to also split out based on column 2, for example. Built and Not Built. So a secondary condition also?
  • To post as a guest, your comment is unpublished.
    jose · 1 months ago
    can someone help please im using this but i keep getting to many columns. i have to keep deleting rows every time i use this.

    This is what im using


    Sub parse_data()
    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
    vcol = 1
    Set ws = Sheets("sheet1")
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = "A1:AN1"
    titlerow = ws.Range(title).Cells(1).Row
    icol = ws.Columns.Count
    ws.Cells(1, icol) = "Unique"
    For i = 2 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
    ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
    Sheets(myarr(i) & "").Columns.AutoFit
    Next
    ws.AutoFilterMode = False
    ws.Activate
    End Sub
  • To post as a guest, your comment is unpublished.
    avinash · 1 months ago
    Thanks for VBA, it works great. In addition to that question, I have column which is dependent. So when i select some value my column values get changed hence I need vba solution to replace earlier split worksheet to replace with new value of columns. Can anyone help me out.?

    Thanks in advance
  • To post as a guest, your comment is unpublished.
    JP Tontegode · 1 months ago
    Is there a way to have the macro create a separate spreadsheet for each new tab instead of just adding a tab into the current worksheet? Thanks!