2009-11-11 22:10:59 +0000 2009-11-11 22:10:59 +0000
15
15

Selecteer elke n-de rij in Excel

Ik heb een Excel-spreadsheet met duizenden rijen. Ik wil elke 7e rij uit die spreadsheet selecteren. (Met “selecteren,” bedoel ik alle andere rijen verwijderen, of de geselecteerde rijen kopiëren naar een nieuw werkblad).

Wat is de gemakkelijkste manier om dat in Excel 2003 te doen?

Zie ook: Selecteer elke n-de rij in Getallen

Antwoorden (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. Voeg een kolom in
  2. In de eerste rij formule invoegen =MOD(ROW(),7)
  3. Kopiëren naar beneden
  4. Kopieer/plak speciale/waarden
  5. Data/Filter de gewenste eruit (0 of 6, waarschijnlijk)
  6. Verwijder de rest van de rijen Verwijder filter Verwijder kolom
3
3
3
2012-11-08 12:23:18 +0000
  1. Voeg een kolom in.
  2. In de eerste rij daar, voeg 1 in.
  3. Kopieer naar beneden naar rij 7 met Ctrl ingedrukt.
  4. Pak dat blok en doe hetzelfde tot het einde.
  5. Data/Filter degene die je niet wilt en verwijder deze.
  6. Verwijder de ingevoegde kolom.
3
3
3
2009-11-12 00:42:01 +0000

Echt gewoon het idee afmaken dat Randolph Potter begon….

Voor de goede orde, ik denk niet dat je dit ooit zou kunnen bedenken door op te nemen. Macro opname is een goede manier om vertrouwd te raken met het Excel Object Model, maar niet een erg goede manier om herbruikbare functies te schrijven.

Option Explicit

'A simple test that copies every 7th row from the active sheet to a new sheet.
Sub SimpleTest()
    Dim r As Range
    Dim ws As Worksheet

    Set r = GetEveryNthRow(7)
    If Not r Is Nothing Then
        Set ws = Worksheets.Add(Before:=Sheets(1))

        r.Copy ws.Range("A1")
    Else
        MsgBox "Nothing came back from GetEveryNthRow"
    End If
    Set ws = Nothing
    Set r = Nothing
End Sub

'
Function GetEveryNthRow(ByVal NthRow As Long) As Range
    Dim keepRows As Range
    Dim r As Range

    If NthRow > 0 Then
        Set keepRows = Rows(1)
        For Each r In ActiveSheet.UsedRange.Rows
            If (r.Row Mod NthRow) = 0 Then
                Set keepRows = Union(keepRows, Rows(r.Row))
            End If
        Next r
        Set GetEveryNthRow = keepRows
    Else
        MsgBox "The row multiple provided must be greater than 0"
    End If

    Set keepRows = Nothing
End Function
1
1
1
2017-07-17 05:16:57 +0000

om elke 7de rij te selecteren is er een EENVOUDIGERE WEG: in de eerste 7 rijen van je kolom op één na (de eerste) schrijf je er iets in. Dan selecteer je deze 7 rijen en kopieer je ze naar de hele kolom. Wat je nu nodig hebt is om te gaan naar SELECTEREN->Ga naar SPECIAL->selecteer BLANKS->OK Je hebt nu voor elke 7 rijen een selectie. Nu kunt u doen wat u wilt. Veel plezier!

0
0
0
2018-10-25 16:21:05 +0000

voor elke 7e rij,

  1. voeg een kolom in
  2. In rij 1 tot rij 6 zet je een “X”
  3. In rij 7 zet je 1,
  4. Vul je kolom automatisch met dat blok
  5. Gebruik “Duplicaten verwijderen” op die kolom
  6. Verwijder de 1e rij (met de 1e “X”).
  7. Verwijder toegevoegde kolom