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.

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
- Avvaliga, o'z misolimdagi "B1 uyasi" kabi ma'lum ustundagi katakchani tanlang.
- Keyin "Ma'lumotlar" yorlig'iga o'ting va "Filtr" tugmasini bosing.
- Keyin, filtr tanlovlari ro'yxatini ko'rsatish uchun ustun sarlavhasidagi "pastga o'q" tugmasini bosing.
- Endi "(Hammasini tanlang)" opsiyasini olib tashlang.
- Shundan so'ng siz mening misolimdagi "29.95" kabi bitta filtr variantini tanlashingiz mumkin va "OK" tugmasini bosing.
- Bir vaqtning o'zida faqat B ustunidagi qiymati "29.95" bo'lgan ma'lumotlar qoladi.
- Keyin, filtrlangan ma'lumotlarni nusxalash va ularni yangi Excel ish kitobiga joylashtirish.
- 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
- Avvalo, maxsus ish varag'i ochilganligiga ishonch hosil qiling.
- Keyin, VBA muharririni "ga muvofiq ishga tushiring.Excel-da VBA kodini qanday ishlatish kerak".
- 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
- Shundan so'ng, asboblar panelidagi "Ishga tushirish" belgisini bosing yoki "F5" tugmasini bosing.
- Makros tugagandan so'ng, Excel ish varag'idan ajratilgan ma'lumotlar bilan alohida Excel ishchi kitoblari yaratiladi.
- Har bir ish kitobi quyidagi skrinshotga o'xshaydi.
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






