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

Seleziona ogni ennesima riga in Excel

Ho un foglio di calcolo Excel con migliaia di righe. Voglio selezionare ogni settima riga da quel foglio di calcolo. (Con “selezionare” intendo eliminare tutte le altre righe, o copiare le righe selezionate in un nuovo foglio di lavoro).

Qual è il modo più semplice per farlo in Excel 2003?

Vedi anche: Seleziona ogni ennesima riga in Numeri

Risposte (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. Inserire una colonna
  2. Nella prima riga inserite la formula =MOD(ROW(),7)
  3. Copia giù
  4. Copiare/incollare i valori speciali
  5. Dati/Filtra quelli che vuoi (0 o 6, probabilmente)
  6. Elimina il resto delle righe Rimuovi filtro Elimina colonna
3
3
3
2012-11-08 12:23:18 +0000
  1. Inserire una colonna.
  2. Nella prima riga inserire 1.
  3. Copiate fino alla riga 7 con Ctrl premuto.
  4. Prendete quel blocco e fate lo stesso fino alla fine.
  5. Data/Filter quelli che non vuoi e cancellali.
  6. Cancellate la colonna inserita.
3
3
3
2009-11-12 00:42:01 +0000

Davvero solo per finire l'idea iniziata da Randolph Potter….

Per la cronaca, non credo che potresti mai arrivare a questo registrando. La registrazione di macro è un buon modo per familiarizzare con il modello a oggetti di Excel, ma non un ottimo modo per scrivere funzioni riutilizzabili.

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

per selezionare ogni 7° riga c'è un MODO PIÙ FACILE: nelle prime 7 righe della vostra colonna tranne una (la prima) scrivete qualcosa all'interno. Poi selezionate queste 7 righe e copiatele su tutta la colonna. Ora quello che vi serve è solo andare su SELECT->GO TO SPECIAL->selezionare BLANKS->OK Avete ogni 7 righe una selezione. Ora potete fare quello che volete. Buon divertimento!

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

per ogni 7a riga,

  1. Inserisci una colonna
  2. Nella riga 1 alla riga 6 metti una “X”
  3. nella riga 7 metti 1,
  4. riempi automaticamente la tua colonna con quel blocco
  5. Usa “Remove Duplicates” su quella colonna
  6. Cancella la prima riga (con la prima “X”).
  7. Cancella la colonna aggiunta