Ponekad, prilikom analize podataka, možda ćete morati podijeliti sadržaj Excel radnog lista u više Excel radnih knjiga prema određenom stupcu. U ovom postu ćemo vas naučiti dva brza načina kako to učiniti.
Mnogi korisnici često moraju podijeliti Excel radni list koji sadrži ogromne retke podataka u više zasebnih Excel radnih knjiga na temelju određenog stupca. Na primjer, ovdje je moj ogledni Excel radni list. Želio bih podijeliti podatke ove tablice na temelju stupca "Cijena pojedinačne 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, bit će prilično zamorno i glupo ako postoji previše opcija filtera. Stoga ovdje također pokazujemo mnogo praktičniji način – metodu 2, koja koristi VBA. Sada čitajte dalje da biste ih dobili u detalje.
Metoda 1: kopirajte sadržaj u zasebne Excel radne knjige nakon filtra
- Najprije odaberite ćeliju u određenom stupcu, poput "Ćelija B1" u mom primjeru.
- Zatim otvorite karticu "Podaci" i kliknite gumb "Filtar".
- Zatim kliknite gumb "strelica prema dolje" u zaglavlju stupca za prikaz popisa izbora filtera.
- Sada poništite opciju "(Odaberi sve)".
- Nakon toga možete odabrati jedan izbor filtra, poput "29.95" u mom primjeru, i kliknuti "U redu".
- Odjednom će biti ostavljeni samo podaci čija je vrijednost u stupcu B "29.95".
- Zatim kopirajte filtrirane podatke i zalijepite ih u novu radnu knjigu programa Excel.
- Kasnije na isti način razdvojite ostale podatke kako biste odvojili Excel radne knjige.
Metoda 2: Skupno dijeljenje sadržaja u više Excel radnih knjiga putem VBA
- Prije svega, provjerite je li otvoren određeni radni list.
- Zatim pokrenite VBA uređivač prema "Kako pokrenuti VBA kod u vašem Excelu".
- Zatim stavite sljedeći kod u projekt "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 ikonu "Pokreni" na alatnoj traci ili pritisnite tipku "F5".
- Kada makronaredba završi, stvorit će se zasebne Excel radne knjige s podijeljenim podacima iz izvornog Excel radnog lista.
- Svaka radna knjiga izgledat će kao na sljedećoj snimci zaslona.
usporedba
| Prednosti | Nedostaci | |
| Metoda 1 | 1. Jednostavan za rukovanje za sve korisnike programa Excel | Problem je ako postoji previše izbora filtera |
| 2. Brzo ako postoji nekoliko izbora filtera | ||
| Metoda 2 | Mnogo učinkovitiji od Metode 1 bez obzira na količinu izbora filtera | Pomalo teško za rukovanje za VBA početnike |
Spriječite gubitak podataka programa Excel
Iako MS Excel postaje sve napredniji i sofisticiraniji, još uvijek ima tendenciju pada s vremena na vrijeme zbog raznih čimbenika, kao što su zlonamjerni dodaci trećih strana ili ljudske pogreške i tako dalje. Budući da pad programa Excel može izravno dovesti do Excel korupcija, kako biste izbjegli gubitak Excel podataka, morate redovito sigurnosno kopirati svoje Excel datoteke. U suprotnom, morate primijeniti Excel alat za popravak, kao što je DataNumen Excel Repair za popravak oštećenih Excel datoteka.
Uvod za autora:
Shirley Zhang stručnjakinja je za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući SQL Server popravak i softverske proizvode za popravak Outlooka. Za više informacija posjetite www.datanumen.com






