Excel ish varag'i tarkibini ma'lum bir ustun asosida bir nechta ishchi kitoblarga bo'lishning 2 tezkor usuli

Hozir ulashing:

Ba'zan, ma'lumotlarni tahlil qilishda, siz Excel ish varag'ining tarkibini ma'lum bir ustunga muvofiq bir nechta Excel ish daftarlariga bo'lishingiz kerak bo'lishi mumkin. Endi, ushbu postda biz sizga buni olishning 2 ta tezkor usulini o'rgatamiz.

Ko'pgina foydalanuvchilar tez-tez katta ma'lumotlar qatorlarini o'z ichiga olgan Excel ish varag'ini ma'lum bir ustun asosida bir nechta alohida Excel ish kitoblariga bo'lishlari kerak. Misol uchun, bu mening Excel ish varag'imning namunasidir. Men ushbu varaq maʼlumotlarini “Yagona litsenziya narxi (AQSH dollari)” ustuni asosida bir nechta ishchi kitoblarga boʻlishni xohlayman.

Excel ish varag'i namunasi

Umuman olganda, siz ma'lumotlarni qo'lda filtrlash va nusxalash uchun quyidagi 1-usuldan foydalanasiz. Ammo, agar filtr variantlari juda ko'p bo'lsa, bu juda zerikarli va ahmoqona bo'ladi. Shuning uchun, bu erda biz juda ham qulayroq usulni ko'rsatamiz - VBA-dan foydalanadigan 2-usul. Endi ularni batafsil ko'rib chiqish uchun o'qing.

1-usul: Filtrdan keyin tarkibni alohida Excel ishchi kitoblariga nusxalash

  1. Avvaliga, o'z misolimdagi "B1 uyasi" kabi ma'lum ustundagi katakchani tanlang.
  2. Keyin "Ma'lumotlar" yorlig'iga o'ting va "Filtr" tugmasini bosing.Ma'lumotlarni filtrlash
  3. Keyin, filtr tanlovlari ro'yxatini ko'rsatish uchun ustun sarlavhasidagi "pastga o'q" tugmasini bosing.
  4. Endi "(Hammasini tanlang)" opsiyasini olib tashlang."Hammasini tanlash" belgisini olib tashlang
  5. Shundan so'ng siz mening misolimdagi "29.95" kabi bitta filtr variantini tanlashingiz mumkin va "OK" tugmasini bosing.
  6. Bir vaqtning o'zida faqat B ustunidagi qiymati "29.95" bo'lgan ma'lumotlar qoladi.Faqat filtrlangan ma'lumotlar qoldi
  7. Keyin, filtrlangan ma'lumotlarni nusxalash va ularni yangi Excel ish kitobiga joylashtirish.Tarkibni nusxalash va joylashtirish
  8. Keyinchalik, Excel ish kitoblarini ajratish uchun boshqa ma'lumotlarni ajratish uchun xuddi shu usuldan foydalaning.

2-usul: VBA orqali tarkibni bir nechta Excel ishchi kitoblariga to'plamga bo'lish

  1. Avvalo, maxsus ish varag'i ochilganligiga ishonch hosil qiling.
  2. Keyin, VBA muharririni "ga muvofiq ishga tushiring.Excel-da VBA kodini qanday ishlatish kerak".
  3. Keyin quyidagi kodni "ThisWorkbook" loyihasiga qo'ying.
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

VBA kodi - Excel ish varag'i tarkibini ma'lum bir ustun asosida bir nechta ishchi kitoblarga bo'lish

  1. Shundan so'ng, asboblar panelidagi "Ishga tushirish" belgisini bosing yoki "F5" tugmasini bosing.
  2. Makros tugagandan so'ng, Excel ish varag'idan ajratilgan ma'lumotlar bilan alohida Excel ishchi kitoblari yaratiladi.Yangi Excel ish kitoblari
  3. Har bir ish kitobi quyidagi skrinshotga o'xshaydi.Alohida yangi Excel ish kitoblari

qiyoslash

  afzalliklari Kamchiliklari
Boshqaruv 1 1. Barcha Excel foydalanuvchilari uchun oson ishlaydi Filtrni tanlash juda ko'p bo'lsa, muammo
2. Filtrni tanlash imkoniyati kam bo'lsa, tez
Boshqaruv 2 Filtrni tanlash miqdoridan qat'i nazar, 1-usulga qaraganda ancha samarali VBA yangi boshlanuvchilari uchun ishlash biroz qiyin

Excel ma'lumotlarini yo'qotishning oldini olish

MS Excel tobora takomillashgan va takomillashib borayotgan bo'lsa-da, u har xil omillar, masalan, zararli uchinchi tomon qo'shimchalari yoki inson xatolari va boshqalar tufayli vaqti-vaqti bilan ishdan chiqadi. Chunki Excelning qulashi to'g'ridan-to'g'ri olib kelishi mumkin Excelning buzilishi, Excel ma'lumotlarini yo'qotmaslik uchun siz muntazam ravishda Excel fayllaringizni zaxiralashingiz kerak. Aks holda, Excel ta'mirlash vositasini qo'llashingiz kerak, masalan DataNumen Excel Repair buzilgan Excel fayllarini tuzatish uchun.

Muallif kirish:

Shirli Chjan ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc SQL Server ta'mirlash va Outlook ta'mirlash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

Hozir ulashing:

Comments are closed.