Кейде деректерді талдау кезінде Excel жұмыс парағының мазмұнын белгілі бір бағанға сәйкес бірнеше Excel жұмыс кітаптарына бөлу қажет болуы мүмкін. Енді, осы жазбада біз сізге оны алудың 2 жылдам жолын үйретеміз.
Көптеген пайдаланушыларға белгілі бір баған негізінде Excel бағдарламасының үлкен парақтарын бірнеше бөлек жұмыс кітабына бөлу қажет. Мысалы, міне менің Excel жұмыс парағым. Мен парақтың деректерін «Бір лицензия бағасы (АҚШ доллары)» бағанының негізінде бірнеше жұмыс кітаптарына бөлгім келеді.

Жалпы, сіз деректерді қолмен сүзу және көшіру үшін келесі 1 әдісті қолдануға бейім боласыз. Бірақ, егер сүзгі параметрлері тым көп болса, бұл өте шаршататын және ақымақ болады. Сондықтан біз мұнда VBA-ны қолданатын 2-әдіс тәсілін де көрсетеміз. Енді оларды егжей-тегжейлі алу үшін оқыңыз.
1-әдіс: Excel жұмыс кітаптарын сүзгіден кейін бөлу үшін мазмұнын көшіру
- Алдымен нақты бағандағы ұяшықты таңдаңыз, мысалы, өз ұяшығымдағы «B1 ұяшығы».
- Содан кейін «Деректер» қойындысына өтіп, «Сүзу» батырмасын басыңыз.
- Әрі қарай, сүзгі таңдауларының тізімін көрсету үшін баған тақырыбындағы «төмен көрсеткі» батырмасын басыңыз.
- Енді «(Барлығын таңдау)» опциясын алып тастаңыз.
- Осыдан кейін сіз менің мысалымда «29.95» сияқты бір сүзгі таңдауын таңдап, «ОК» батырмасын басыңыз.
- Бірден, В бағанында мәні «29.95» болатын деректер ғана қалады.
- Содан кейін сүзілген деректерді көшіріп, жаңа Excel жұмыс кітабына салыңыз.
- Кейінірек, Excel жұмыс кітаптарын бөлу үшін басқа деректерді бөлудің дәл осылай тәсілін қолданыңыз.
2-әдіс: Мазмұнын VBA арқылы бірнеше Excel жұмыс кітаптарына бөлу
- Біріншіден, нақты жұмыс парағының ашылғанына көз жеткізіңіз.
- Келесіде VBA редакторын «Excel бағдарламасында VBA кодын қалай іске қосуға болады«.
- Содан кейін келесі кодты «ThisWorkbook» жобасына салыңыз.
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
- Осыдан кейін құралдар тақтасындағы «Іске қосу» белгішесін басыңыз немесе «F5» батырмасын басыңыз.
- Макросты аяқтағаннан кейін бөлек Excel жұмыс кітаптары Excel жұмыс парағынан бөлінген деректермен бірге жасалады.
- Әр жұмыс кітабы келесі скриншотқа ұқсайды.
салыстыру
| артықшылықтары | кемшіліктері | |
| 1 әдісі | 1. Барлық Excel пайдаланушылары үшін оңай жұмыс істейді | Егер сүзгі таңдаулары тым көп болса, қиындықтар туындайды |
| 2. Егер сүзгі таңдаулары аз болса, жылдам | ||
| 2 әдісі | Фильтрді таңдау мөлшеріне қарамастан, 1-әдіске қарағанда әлдеқайда тиімді | VBA жаңадан бастаушылары үшін жұмыс істеу қиын |
Excel деректер жоғалуына жол бермеңіз
MS Excel күннен-күнге жетілдіріліп, жетілдіріліп келе жатқанымен, әр түрлі факторлардың әсерінен мезгіл-мезгіл құлдырауға бейім, мысалы, зиянды үшінші тарап қондырмалары немесе адамның қателіктері және т.б. Excel-дің бұзылуы тікелей әкелуі мүмкін болғандықтан Excel-дің бүлінуі, сондықтан Excel деректерінің жоғалуын болдырмау үшін сіз Excel файлдарының сақтық көшірмесін үнемі жасап отыруыңыз керек. Әйтпесе, сізге Excel жөндеу құралын қолдану қажет, мысалы DataNumen Excel Repair бүлінген Excel файлдарын түзету үшін.
Автордың кіріспесі:
Ширли Чжан - деректерді қалпына келтіру бойынша сарапшы DataNumen, Соның ішінде деректерді қалпына келтіру технологиялары бойынша әлемдік көшбасшы болып табылатын Inc. SQL Server жөндеу және бағдарламалық жасақтаманы жөндеу бағдарламалары. Қосымша ақпарат алу үшін кіріңіз WWW.datanumen.com






