کوکی ها به ما کمک خدمات ما ارائه کرده است. با استفاده از خدمات ما، شما را به استفاده ما از کوکی ها است.
نکته: زبانهای دیگر گوگل ترجمه شده اند. شما می توانید از English نسخه این لینک
ورود
x
or
x
x
ثبت نام
x

or

چگونه می توان داده ها را به چند صفحه جداگانه بر اساس ستون در اکسل تقسیم کرد؟

فرض کنید شما دارای یک برگه با ردیف های بزرگ داده است، و در حال حاضر، شما نیاز به تقسیم داده ها را به چند صفحه بر اساس نام ستون (نگاه کنید به تصویر زیر)، و نام ها به طور تصادفی وارد شده است. شاید بتوانید آنها را برای اولین بار مرتب کنید، و سپس آنها را یک به یک را به دیگر برگه های جدید کپی کنید و آنها را جای گذاری کنید. اما این به صبر و شکیبایی شما نیاز دارد تا بارها کپی و بارگذاری کنید. امروز، من در مورد برخی از ترفندهای سریع برای حل این کار صحبت خواهم کرد.

اطلاعات DAL تقسیم شده توسط ستون 1

تقسیم داده ها به چند کاره بر اساس ستون با کد VBA

داده های تقسیم شده را به چند صفحه بر اساس ستون با Kutools برای اکسل


داده های تقسیم شده به چندین برگه بر اساس ستون خاص یا ردیف تعداد در برگه:

اگر می خواهید یک برگه بزرگ را به چندین برگ بر اساس اطلاعات مربوط به ستون خاص یا تعداد ردیف تقسیم کنید Kutools برای اکسل's تقسیم داده ها این ویژگی می تواند به شما کمک کند تا این کار را به سرعت و به آسانی انجام دهید.

اطلاعات DAL تقسیم شده توسط ستون 6

Kutools برای اکسل: با بیش از 200 اکسل افزونه های مفید، بدون هیچ محدودیتی در روزهای 60 امتحان کنید. دانلود و محاکمه آزاد اکنون!


تقسیم داده ها به چند کاره بر اساس ستون با کد VBA


اگر می خواهید اطلاعات را براساس مقدار ستون به سرعت و به صورت خودکار تقسیم کنید، کد زیر VBA انتخاب خوبی است. لطفا این کار را انجام دهید:

1. پایین نگه دارید ALT + F11 کلید برای باز کردن مایکروسافت ویژوال بیسیک برای برنامه پنجره.

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 کلید برای اجرای کد، و جعبه فوری برای یادآوری شما ردیف هدر را انتخاب کنید، به تصویر زیر مراجعه کنید:

اطلاعات DAL تقسیم شده توسط ستون 7

4. و سپس، کلیک کنید OK دکمه و در کادر دوم فوری، لطفا اطلاعات مربوط به ستون را که میخواهید بر اساس آن تقسیم کنید انتخاب کنید، به تصویر زیر مراجعه کنید:

اطلاعات DAL تقسیم شده توسط ستون 8

5. سپس روی کلیک کنید OK، و تمام داده ها در صفحه فعال فعال به مقدار ستون به چندین برگه تقسیم می شوند. و برگه های تقسیم شده با نام سلول های تقسیم شده نامگذاری می شوند. تصویر را مشاهده کنید:

اطلاعات DAL تقسیم شده توسط ستون 2

توجه داشته باشید: برگه های تقسیم شده در انتهای کتاب کار که در آن برگه کارشناسی ارشد در آن قرار دارد قرار می گیرد.


داده های تقسیم شده را به چند صفحه بر اساس ستون با Kutools برای اکسل

به عنوان یک مبتدی اکسل، این کد VBA طولانی برای ما دشوار است و بسیاری از ما حتی نمی دانیم چگونه کد را به عنوان نیاز ما تغییر دهیم.

در اینجا، من یک ابزار چند منظوره را معرفی خواهم کردKutools برای اکسل، آن تقسیم داده ها ابزار نه تنها می تواند شما را به تقسیم داده ها در چند صفحه بر اساس ستون کمک کند، بلکه می تواند داده ها را با تعداد ردیف تقسیم کند.

Kutools برای اکسل : با بیش از 300 دستی اکسل افزودنیها، رایگان را امتحان کنید بدون هیچ محدودیت در روز 60.

اگر نصب کردید Kutools برای اکسل، لطفا به شرح زیر عمل کنید:

1. طیف وسیعی از داده هایی که می خواهید تقسیم کنید را انتخاب کنید.

2است. کلیک کنید Kutools Plus > کاربرگ > تقسیم داده ها، تصویر را ببینید

اطلاعات DAL تقسیم شده توسط ستون 3

3است. در تقسیم داده ها به صفحات چندگانه کادر محاوره ای، شما باید:

1) انتخاب کنید ستون خاص گزینه در تقسیم بر اساس بخش، و مقدار ستون را که می خواهید داده ها را بر اساس لیست کشویی تقسیم کنید را انتخاب کنید. (اگر داده های شما دارای سرصفحه باشد و شما می خواهید آنها را در هر صفحه جداگانه جدید وارد کنید، لطفا بررسی کنید داده های من دارای سرصفحه است گزینه.)

2) سپس شما می توانید نام کاراکتر تقسیم، زیر زیر را مشخص کنید نام برگه جدید بخش، دستورالعمل های نام کارنامه از قوانین لیست کشویی، شما می توانید اضافه کنید پیشوند or پسوند برای نام ورق هم همینطور.

3) کلیک کنید بر روی OK دکمه. تصویر را ببینید:

اطلاعات DAL تقسیم شده توسط ستون 4

4. در حال حاضر داده ها به چندین برگه در یک کتاب جدید تقسیم می شوند.

اطلاعات DAL تقسیم شده توسط ستون 5

کلیک کنید برای دانلود Kutools برای اکسل و آزمایشی رایگان در حال حاضر!


داده های تقسیم شده را به چند صفحه بر اساس ستون با Kutools برای اکسل

Kutools برای اکسل شامل بیش از 300 دستی ابزار اکسل. رایگان بدون محدودیت در روز 60 امتحان کنید. اکنون نسخه آزمایشی را دانلود کنید


مقاله مرتبط:

چگونه می توان داده ها را به چند صفحه با تعداد ردیف تقسیم کرد؟



ابزارهای توصیه شده برای بهره وری

دفتر تب

gold star1 زبانه های مفید برای اکسل و دیگر نرم افزار Office، درست مانند Chrome، Firefox و اینترنت اکسپلورر جدید.

Kutools برای اکسل

gold star1 حیرت آور! بهره وری خود را در دقیقه 5 افزایش دهید. به مهارت های ویژه نیاز نداشته باشید، صرفه جویی در هر ساعت دو ساعت!

gold star1 ویژگی های جدید 300 برای اکسل، اکسل بسیار آسان و قدرتمند:

  • ادغام سلول / ردیف / ستون بدون از دست دادن داده ها.
  • ترکیب و ادغام چندین ورق و کارنامه.
  • مقایسه مقادیر، روندهای چندگانه کپی، تبدیل متن به تاریخ، تبدیل واحد و ارز.
  • شمارش توسط رنگ ها، کلیدهای پیمایش، مرتب سازی پیشرفته و سوپر فیلتر،
  • بیشتر انتخاب / قرار دادن / حذف / متن / فرمت / لینک / نظر / کتاب کار / ابزار برگه ها ...

شات Screen Kutools برای اکسل

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.
    Rohit · 2 years ago
    Hi,

    It works fine with a little tweaks to the code. But the data is getting populated without the headers. The code that i am using is:

    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 = 5
    Set ws = Sheets("Readiness Data")
    lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
    title = "A1:AC1"
    titlerow = ws.Range(title).Cells(44).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.
    Rohit · 2 years ago
    Hi,

    Though the sheets are getting split, the data is reflecting only in the first tab(for the first row). Rest all tabs are blank.
  • To post as a guest, your comment is unpublished.
    Vy nguyen · 2 years ago
    I found the VBA super helpful for my problem.

    However, when I need to modify it, I am not sure how.

    The column I need to have the split is the 11th column, which I was able to modify.

    However, it is not splitting correctly because of the format of this column. The formatting needs to stay this way – customized. I was able to get the tabs to split based on the information in the column, but no data shows.

    currently the column format is 082816 (custom in excel), which means 08/28/16). I believe this is due to the code: Dim vcol As Integer. These are not integers so it is not finding anything hence no data is copied?

    How do i modify the 'dim vcol as integer' part so that it works with my formatting?
    Thank you
  • To post as a guest, your comment is unpublished.
    Sneha · 2 years ago
    Hey,
    thanks it worked for me.. It was a magic...

    My only requirement is on the other sheets, I want the Data to be displayed from A100 and not from first first cell i.e. A1.. Please can you tell the feild to be changed for it...

    Thank you
  • To post as a guest, your comment is unpublished.
    julius D · 2 years ago
    thanks you very much for your support
    the [quote][u]code work well [/u][/quote]