With følgende koder Excel? Kan du opprette ny bladet basert på kolonneverdier, eller bare lage nye ark for hver rad i Excel.
1. Trykk ALT + F11 tastene samtidig for å åpne Microsoft Visual Basic for Applications vinduet.
2. I Microsoft Visual Basic for Applications-vinduet, klikker du Sett > Modul. Og lim inn følgende kode i modulen vinduet
VBA-kode. Opprette nytt ark for hver rad basert på kolonnen
Sub parse_data () Dim xRCount As Long Dim xSht Som Regneark Dim xNSht Som Regneark Dim jeg As Long Dim xTRrow As Integer Dim xCol Som ny samling Dim xTitle As String Dim xSUpdate Som boolsk Set xSht = Active xRCount = xSht.Cells (xSht.Rows.Count, 1) END (xlUp) .Row xTitle = "A1: C1" xTRrow = xSht.Range (xTitle) .Cells (1) .Row For jeg = 2 Slik xRCount On Error Resume Next Call xCol.Add (xSht.Cells (I, 1), xSht.Cells (I, 1)) Neste On Error Resume Neste xSUpdate = Application.ScreenUpdating Application.ScreenUpdating = False For I = 1 Til xCol.Count Call xSht.Range (xTitle) .AutoFilter (1, CSTR (xCol.Item (I))) Set xNSht = Ingenting Set xNSht = Regneark ( CSTR (xCol.Item (I))) Hvis xNSht Er Ingenting så sette xNSht = Worksheets.Add (, Sheets (Sheets.Count)) xNSht.Name = CSTR (xCol.Item (I)) Else xNSht.Move, Sheets ( Sheets.Count) End If xSht.Range ("A" & xTRrow & "En" & xRCount) .EntireRow.Copy xNSht.Range ("A1") xNSht.Columns.AutoFit Neste xSht.AutoFilterMode = False xSht.Activate Application.ScreenUpdating = xSUpdateEnd SubNote: A1: C1 er tittelen spekter av tabellen. Du kan endre den basert på dine behov.
3. Trykk F5 for å kjøre koden, deretter nye regneark er opprettet etter at alle regnearkene i gjeldende arbeidsbok som skjermbildet under:
Hvis du ønsker å direkte opprette nye ark for hver rad uten verdi kolonnen vurderer, kan du bruke . følgende kode
VBA-kode: Direkte opprette nytt ark for hver rad
Sub RowToSheet () Dim xRow As Long Dim jeg As Long Med Active xRow = .Range ("A" & Rows.Count) END . (xlUp) .Row For I = 1 Til xRow Worksheets.Add (, Sheets (Sheets.Count)) Name = "Row" & Jeg .Rows (I) .Copy Sheets ("Row" & I). .Range ("A1") Neste Jeg End WithEnd SubAfter kjører koden, vil hver rad i aktive regnearket bli plassert i et nytt regneark
Note .: Overskriften rad vil også bli plassert i et nytt ark med denne VBA-kode