Cookies დაგვეხმარება სიტყვით ჩვენი მომსახურება. გამოყენებით ჩვენი მომსახურება, თქვენ ეთანხმებით, რომ ჩვენი გამოყენების cookies.
რჩევა: სხვა ენები Google- ით თარგმნილია. შეგიძლიათ ეწვიოთ English ამ ბმის ვერსია.
შესვლა
x
or
x
x
რეგისტრაცია
x

or

როგორ გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება სვეტი Excel?

ვარაუდობენ, რომ გაქვთ სამუშაო ცხრილები უზარმაზარი რიგების მონაცემები და ახლა, თქვენ უნდა გაყოფილი მონაცემები სხვადასხვა სამუშაოები საფუძველზე სახელი სვეტი (იხილეთ შემდეგი სურათი), და სახელები შეყვანილია შემთხვევით. შესაძლოა, შეგიძლიათ დაალაგოთ მათ პირველი და შემდეგ დააკოპირეთ და ჩასვით მათ ერთმანეთს სხვა ახალ სამუშაოებში. მაგრამ ეს დაგჭირდებათ თქვენი მოთმინება, რომ გაიმეორეთ და გაიმეორეთ. დღეს, ამ ამოცანის გადასაჭრელად ვისაუბრებთ რამდენიმე სწრაფი ხრიკზე.

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 1

გაყოფილი მონაცემების მრავალჯერადი worksheets საფუძველზე სვეტი VBA კოდი

გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება სვეტი ერთად Kutools for Excel


გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება კონკრეტული სვეტის ან რიგები ითვლიან worksheet:

თუ გსურთ გაყოფილი დიდი worksheet შევიდა მრავალჯერადი ფურცლები საფუძველზე კონკრეტული სვეტი მონაცემები ან რიგები ითვლიან, Kutools ამისთვის Excel's გაყოფის მონაცემები ფუნქცია დაგეხმარებათ სწრაფად და მარტივად გადაჭრას ეს ამოცანა.

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 6

Kutools ამისთვის Excel: მეტია, ვიდრე 200 მოსახერხებელი Excel add-ins, უფასო ცდილობენ არ შეზღუდვა 60 დღე. ჩამოტვირთეთ და უფასო საცდელი ახლა!


გაყოფილი მონაცემების მრავალჯერადი worksheets საფუძველზე სვეტი VBA კოდი


თუ გსურთ, რომ სვეტის ფასების მიხედვით სწრაფად და ავტომატურად ჩამოყალიბდეს მონაცემები, შემდეგი VBA კოდი არის კარგი არჩევანი. გთხოვთ, გააკეთოთ ეს:

1. გეჭიროთ ALT + F11 გასაღებები გასახსნელად Microsoft Visual Basic აპლიკაციებისათვის window.

2. დაწკაპეთ ჩადეთ > მოდულები, და ჩასვით შემდეგი კოდი მოდულის ფანჯარაში.

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. შემდეგ, დააჭირეთ F5 გასაღები აწარმოებს კოდი და სწრაფი ყუთი არის popped out შეგახსენოთ აირჩიეთ სათაურის row, იხილეთ სკრინშოტი:

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 7

4. და შემდეგ დააჭირეთ OK ღილაკზე და მეორე სწრაფი ყუთში, აირჩიეთ სვეტის მონაცემები, რომელიც გსურთ გაყოთ დაყრდნობით, იხილეთ სკრინშოტი:

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 8

5. შემდეგ, დააჭირეთ OK, და აქტიური სამუშაოების ყველა მონაცემი განლაგებულია მრავალჯერადი სამუშაოების მიხედვით სვეტის ღირებულებით. და გაყოფილი worksheets დაასახელა გაყოფილი საკანში სახელები. იხილეთ სკრინშოტი:

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 2

შენიშვნა: გაყოფილი სამუშაოები განთავსდება შრომის წიგნაკის ბოლოს, სადაც არის საძიებო სისტემა.


გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება სვეტი ერთად Kutools for Excel

როგორც Excel დამწყები, ეს ხანგრძლივი VBA კოდი არის ცოტა რთული ჩვენთვის, და ყველაზე მეტად ჩვენს არ ვიცი როგორ უნდა შეცვალოს კოდი, როგორც ჩვენი საჭიროება.

აქ გაგაცნობთ მრავალფუნქციურ ინსტრუმენტს -Kutools ამისთვის Excel, მისი გაყოფის მონაცემები კომუნალური არა მარტო დაგეხმარებათ გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება სვეტის, არამედ შეიძლება გაყოფილი მონაცემების რიგები ითვლიან.

Kutools ამისთვის Excel : მეტი, ვიდრე 300 მოსახერხებელი Excel add-ins, უფასო ცდილობენ არ შეზღუდვა in 60 დღე.

თუ დაინსტალირებულია Kutools ამისთვის Excel, გთხოვთ შემდეგნაირად:

1. აირჩიეთ რიგი მონაცემები, რომლითაც გსურთ გაყოფილი.

2. დაწკაპეთ კუტუსი პლუს > Worksheet > გაყოფის მონაცემებიიხილეთ სკრინშოტი:

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 3

3. იმ გაყოფილი მონაცემთა მრავალჯერადი სამუშაოები დიალოგური ფანჯარა, თქვენ უნდა:

1). აირჩიეთ კონკრეტული სვეტი ვარიანტი გაყოფა დაფუძნებულია განყოფილება და აირჩიეთ სვეტის მნიშვნელობა, რომელიც გსურთ გაყოფა მონაცემების მიხედვით ჩამოსაშლელ სიაში. (თუ თქვენი მონაცემები ჰედერია და გსურთ ჩასვათ ისინი ყოველი ახალი გაყოფილი სამუშაო ცხრილისთვის, გთხოვთ გადაამოწმოთ ჩემი მონაცემები აქვს სათაურები ვარიანტი.)

2). შემდეგ შეგიძლიათ მიუთითოთ გაყოფილი სამუშაოები სახელების მიხედვით ახალი ნამუშევრების სახელი განყოფილება, განსაზღვრავს worksheet სახელები წესები წესები ჩამოშლა სიაში, შეგიძლიათ დაამატოთ პრეფიქსი or სუფიქსი ფურცლის სახელებიც.

3). დაწკაპეთ OK ღილაკი. იხილეთ სკრინშოტი:

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 4

4. ახლა მონაცემები გაყოფილია მრავალ სამუშაოში ახალ სამუშაო წიგნში.

დოკუმენტის გაყოფის მონაცემები სვეტების მიერ 5

დაწკაპეთ ჩამოტვირთეთ Kutools for Excel და უფასო საცდელი ახლა!


გაყოფილი მონაცემების მრავალჯერადი worksheets ეფუძნება სვეტი ერთად Kutools for Excel

Kutools ამისთვის Excel მოიცავს მეტი 300 მოსახერხებელი Excel ინსტრუმენტები. თავისუფლად ვეღარ შეასრულა მაქსიმუმ 60 დღე. ჩამოტვირთეთ უფასო საცდელი ვერსია!


ამავე თემაზე:

როგორ გაყოფილი მონაცემების მრავალჯერადი worksheets მიერ რიგები ითვლიან?



რეკომენდებული პროდუქტიულობის ინსტრუმენტები

ოფისის ჩანართი

ოქროს ვარსკვლავი 1 მოიტანეთ ხელსაყრელი ჩანართები Excel და სხვა საოფისე პროგრამებისთვის, ისევე როგორც Chrome, Firefox და ახალი Internet Explorer.

Kutools ამისთვის Excel

ოქროს ვარსკვლავი 1 საოცარი! გაზარდეთ თქვენი პროდუქტიულობა წუთში. არ გჭირდებათ რაიმე განსაკუთრებული უნარები, ყოველდღე ორ საათში გადარჩენა!

ოქროს ვარსკვლავი 1 300 ახალი ფუნქციები Excel, ჩადება Excel ძალიან მარტივი და ძლიერი:

  • უჯრედის / რიგების / სვეტების შერწყმა მონაცემების დაკარგვის გარეშე.
  • მრავალჯერადი ცხრილებისა და სამუშაოების კომბინირება და კონსოლიდაცია.
  • შეადარეთ საზღვრები, დააკოპირეთ მრავალჯერადი საზღვრები, გადაიყვანეთ ტექსტის თარიღის, განყოფილებისა და ვალუტის კონვერტაციის.
  • დათვლა ფერები, Paging Subtotals, გაფართოებული დალაგება და სუპერ ფილტრი,
  • სხვა არჩევა / ჩასმა / წაშლა / ტექსტი / ფორმატი / ლინკი / კომენტარი / სამუშაო წიგნები / სამუშაოები ინსტრუმენტები ...

ეკრანის კადრი Kutools for Excel

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 · 4 days 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!