Til tider kan det være nødvendigt at opdele indholdet af et Excel-regneark i flere Excel-projektmapper i henhold til en bestemt kolonne. I dette indlæg vil vi lære dig to hurtige måder at få det på.
Mange brugere har ofte brug for at opdele et Excel-regneark, der indeholder store datarækker i flere separate Excel-projektmapper baseret på en bestemt kolonne. For eksempel er her mit eksempel på et Excel-regneark. Jeg vil gerne opdele dette arks data på basis af kolonnen "Pris på en enkelt licens (US $)" i flere projektmapper.

Generelt har du tendens til at bruge følgende metode 1 til manuelt at filtrere og kopiere data. Men det vil være ret kedeligt og dumt, hvis der er for mange filterindstillinger. Derfor viser vi her også en meget mere bekvem måde - Metode 2, der bruger VBA. Læs videre for at få dem i detaljer.
Metode 1: Kopier indhold til separate Excel-projektmapper efter filter
- Først skal du vælge en celle i den specifikke kolonne, som "Cell B1" i min egen forekomst.
- Drej derefter til fanen "Data", og klik på knappen "Filter".
- Klik derefter på knappen "pil ned" i kolonneoverskriften for at få vist en liste over filtervalg.
- Fjern nu afkrydsningsfeltet "(Vælg alt)".
- Derefter kan du vælge et filtervalg som "29.95" i mit eksempel og klikke på "OK".
- Med det samme er kun data, hvis værdi i kolonne B er "29.95", tilbage.
- Kopier derefter de filtrerede data og indsæt dem i en ny Excel-projektmappe.
- Senere skal du bruge den samme måde til at opdele de andre data for at adskille Excel-projektmapper.
Metode 2: Batch opdelt indhold i flere Excel-projektmapper via VBA
- For det første skal du sikre dig, at det specifikke regneark åbnes.
- Start derefter VBA-editor i henhold til “Sådan køres VBA-kode i din Excel".
- Sæt derefter følgende kode i “ThisWorkbook” -projektet.
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
- Klik derefter på ikonet "Kør" i værktøjslinjen eller tryk på "F5" -tasten.
- Når makroen er færdig, oprettes de separate Excel-projektmapper med de splittede data fra Excel-regnearket.
- Hver projektmappe ser ud som det følgende skærmbillede.
Sammenligning
| Fordele | Ulemper | |
| Metode 1 | 1. Let at betjene for alle Excel-brugere | Besværligt, hvis der er for mange filtervalg |
| 2. Hurtig, hvis der er få filtervalg | ||
| Metode 2 | Meget mere effektiv end metode 1 uanset mængden af filtervalg | Lidt svært at betjene for VBA nybegyndere |
Forhindre tab af Excel
Selvom MS Excel bliver mere og mere avanceret og sofistikeret, har det stadig en tendens til at gå ned fra tid til anden på grund af diverse faktorer, såsom ondsindede tredjeparts tilføjelsesprogrammer eller menneskelige fejl og så videre. Siden Excel-nedbrud direkte kan føre til Excel korruption, for at undgå tab af Excel-data, skal du sikkerhedskopiere dine Excel-filer regelmæssigt. Ellers skal du anvende et Excel-reparationsværktøj, f.eks DataNumen Excel Repair at rette korrupte Excel-filer.
Forfatter Introduktion:
Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder SQL Server reparere og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com






