Ponekad, prilikom analize podataka, možda ćete morati podijeliti sadržaj Excel radnog lista u više Excel radnih svezaka prema određenoj koloni. U ovom postu ćemo vas naučiti dva brza načina da to postignete.
Mnogi korisnici često moraju da podele Excel radni list koji sadrži ogromne redove podataka u više zasebnih Excel radnih knjiga na osnovu određene kolone. Na primjer, evo mog primjera Excel radnog lista. Želio bih podijeliti podatke ovog lista na osnovu kolone “Cijena jedne licence (US$)” u više radnih knjiga.

Općenito, obično ćete koristiti sljedeću metodu 1 za ručno filtriranje i kopiranje podataka. Ali, biće prilično zamorno i glupo ako postoji previše opcija filtera. Stoga, ovdje pokazujemo i mnogo praktičniji način – metod 2, koji koristi VBA. Sada, čitajte dalje da biste ih detaljno saznali.
Metoda 1: Kopirajte sadržaj da odvojite Excel radne knjige nakon Filter
- Prvo odaberite ćeliju u određenoj koloni, kao što je "Ćelija B1" u mojoj instanci.
- Zatim idite na karticu „Podaci“ i kliknite na dugme „Filter“.
- Zatim kliknite na dugme „strelica nadole“ u zaglavlju kolone da biste prikazali listu izbora filtera.
- Sada poništite opciju "(Odaberi sve)".
- Nakon toga, možete odabrati jedan izbor filtera, kao što je "29.95" u mom primjeru, i kliknite "OK".
- Odjednom će ostati samo podaci čija je vrijednost u koloni B “29.95”.
- Zatim kopirajte filtrirane podatke i zalijepite ih u novu Excel radnu knjigu.
- Kasnije koristite isti način da podijelite ostale podatke da biste razdvojili Excel radne knjige.
Metoda 2: Grupno podijelite sadržaj u više Excel radnih knjiga putem VBA
- Prije svega, osigurajte da je određeni radni list otvoren.
- Zatim pokrenite VBA editor prema “Kako pokrenuti VBA kod u vašem Excelu".
- Zatim stavite sljedeći kod u projekat “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
- Nakon toga kliknite na ikonu “Run” na traci sa alatkama ili pritisnite dugme “F5”.
- Kada makronaredba završi, kreiraće se zasebne Excel radne knjige sa podeljenim podacima iz izvornog Excel radnog lista.
- Svaka radna sveska će izgledati kao na sljedećoj slici ekrana.
poređenje
| prednosti | nedostaci | |
| Način 1 | 1. Jednostavan za rad za sve korisnike programa Excel | Problematično ako postoji previše izbora filtera |
| 2. Brzo ako postoji nekoliko izbora filtera | ||
| Način 2 | Mnogo efikasnije od metode 1 bez obzira na količinu izbora filtera | Malo je teško raditi za VBA početnike |
Spriječite gubitak Excel podataka
Iako MS Excel postaje sve napredniji i sofisticiraniji, i dalje ima tendenciju pada s vremena na vrijeme zbog raznih faktora, kao što su zlonamjerni dodaci trećih strana ili ljudske greške i tako dalje. Budući da Excel pad može direktno dovesti do Korupcija u Excelu, kako biste izbjegli gubitak Excel podataka, morate redovno praviti sigurnosnu kopiju svojih Excel datoteka. U suprotnom, morate primijeniti Excel alat za popravku, kao što je DataNumen Excel Repair da popravite oštećene Excel datoteke.
Uvod za autora:
Shirley Zhang je stručnjak za oporavak podataka DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući SQL Server Popravak i Outlook softverski proizvodi za popravku. Za više informacija posjetite www.datanumen.com






