Bəzən məlumatların təhlilində, Excel iş vərəqinin məzmununu müəyyən bir sütuna uyğun olaraq bir neçə Excel iş kitabına bölmək lazım ola bilər. İndi isə bu yazıda sizə bunu əldə etməyin 2 sürətli yolunu öyrədəcəyik.
Bir çox istifadəçi tez-tez nəhəng məlumat sətirlərini ehtiva edən Excel iş vərəqini müəyyən bir sütuna əsaslanan bir neçə ayrı Excel iş dəftərinə bölməlidir. Məsələn, burada mənim nümunə Excel iş səhifəm var. Mən bu vərəqin məlumatlarını “Tək lisenziyanın qiyməti (ABŞ dolları)” sütunu əsasında çoxsaylı iş dəftərlərinə bölmək istərdim.

Ümumiyyətlə, məlumatları əl ilə filtrləmək və köçürmək üçün aşağıdakı Metod 1-dən istifadə etməyə meylli olacaqsınız. Lakin, çoxlu filtr variantları varsa, bu, olduqca yorucu və axmaq olacaq. Buna görə də, biz burada daha rahat bir yol göstəririk - VBA-dan istifadə edən Metod 2. İndi onları ətraflı öyrənmək üçün oxuyun.
Metod 1: Filtrdən sonra Excel iş dəftərlərini ayırmaq üçün məzmunu kopyalayın
- Əvvəlcə xüsusi sütunda bir xana seçin, məsələn, mənim öz nümunəmdə "Cell B1".
- Sonra "Məlumat" sekmesine keçin və "Filtr" düyməsini basın.
- Sonra, filtr seçimlərinin siyahısını göstərmək üçün sütun başlığında "aşağı ox" düyməsini basın.
- İndi "(Hamısını Seç)" seçimini sil.
- Bundan sonra nümunəmdəki “29.95” kimi bir filtr seçimini seçib “OK” düyməsini klikləyə bilərsiniz.
- Dərhal yalnız B sütununda dəyəri “29.95” olan məlumatlar qalacaq.
- Sonra, süzülmüş məlumatları kopyalayın və onları yeni Excel iş kitabına yapışdırın.
- Daha sonra Excel iş kitablarını ayırmaq üçün digər məlumatları bölmək üçün eyni üsuldan istifadə edin.
Metod 2: Məzmunu VBA vasitəsilə çoxlu Excel iş dəftərlərinə yığın
- İlk növbədə, xüsusi iş vərəqinin açıldığına əmin olun.
- Sonra, “VBA redaktorunu işə salınExcel-də VBA kodunu necə işlətmək olar".
- Sonra aşağıdakı kodu “ThisWorkbook” layihəsinə daxil edin.
Sub SplitSheetDataIntoMultipleWorkbooksBasedOnSpecificColumn()
Dim objWorksheet As Excel.Worksheet
Dim nLastRow, nRow, nNextRow As Integer
Dim strColumnValue As String
Dim objDictionary As Object
Dim varColumnValues As Variant
Dim varColumnValue As Variant
Dim objExcelWorkbook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Set objWorksheet = ActiveSheet
nLastRow = objWorksheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row
Set objDictionary = CreateObject("Scripting.Dictionary")
For nRow = 2 To nLastRow
'Get the specific Column
'Here my instance is "B" column
'You can change it to your case
strColumnValue = objWorksheet.Range("B" & nRow).Value
If objDictionary.Exists(strColumnValue) = False Then
objDictionary.Add strColumnValue, 1
End If
Next
varColumnValues = objDictionary.Keys
For i = LBound(varColumnValues) To UBound(varColumnValues)
varColumnValue = varColumnValues(i)
'Create a new Excel workbook
Set objExcelWorkbook = Excel.Application.Workbooks.Add
Set objSheet = objExcelWorkbook.Sheets(1)
objSheet.Name = objWorksheet.Name
objWorksheet.Rows(1).EntireRow.Copy
objSheet.Activate
objSheet.Range("A1").Select
objSheet.Paste
For nRow = 2 To nLastRow
If CStr(objWorksheet.Range("B" & nRow).Value) = CStr(varColumnValue) Then
'Copy data with the same column "B" value to new workbook
objWorksheet.Rows(nRow).EntireRow.Copy
nNextRow = objSheet.Range("A" & objWorksheet.Rows.Count).End(xlUp).Row + 1
objSheet.Range("A" & nNextRow).Select
objSheet.Paste
objSheet.Columns("A:B").AutoFit
End If
Next
Next
End Sub
- Bundan sonra, alətlər panelindəki "Çalış" simgesini və ya "F5" düyməsini basın.
- Makro tamamlandıqda, mənbə Excel iş vərəqindən bölünmüş verilənlərlə ayrıca Excel iş kitabları yaradılacaq.
- Hər bir iş kitabı aşağıdakı ekran görüntüsünə bənzəyəcək.
Müqayisə
| Üstünlüklər | Dezavantajları | |
| Metod 1 | 1. Bütün Excel istifadəçiləri üçün işləmək asandır | Həddindən artıq filtr seçimi varsa, problemlidir |
| 2. Filtr seçimi azdırsa, tez | ||
| Metod 2 | Filtr seçimlərinin miqdarından asılı olmayaraq Metod 1-dən daha səmərəlidir | VBA yeni başlayanlar üçün işləmək bir qədər çətindir |
Excel məlumat itkisinin qarşısını alın
MS Excel getdikcə daha təkmil və təkmilləşsə də, zərərli üçüncü tərəf əlavələri və ya insan xətaları və s. kimi müxtəlif amillər səbəbindən vaxtaşırı çökməyə meyllidir. Çünki Excel qəzası birbaşa səbəb ola bilər Excel korrupsiyası, Excel məlumatlarının itirilməsinin qarşısını almaq üçün Excel fayllarınızı müntəzəm olaraq ehtiyat nüsxəsini çıxarmalısınız. Əks halda, Excel təmir alətini tətbiq etməlisiniz, məsələn DataNumen Excel Repair zədələnmiş Excel fayllarını düzəltmək üçün.
Müəllif Giriş:
Shirley Zhang məlumatların bərpası üzrə mütəxəssisdir DataNumendaxil olmaqla məlumatların bərpası texnologiyaları üzrə dünya lideri olan , Inc SQL Server təmir və Outlook təmiri proqram məhsulları. Ətraflı məlumat üçün ziyarət edin www.datanumen.com






