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

Zaznacz każdy n-ty wiersz w Excelu

Mam arkusz kalkulacyjny Excel z tysiącami wierszy. Chcę wybrać co 7 wiersz z tego arkusza. (Mówiąc “wybrać”, mam na myśli usunięcie wszystkich pozostałych wierszy lub skopiowanie wybranych wierszy do nowego arkusza).

Jaki jest najprostszy sposób, aby to zrobić w programie Excel 2003?

Zobacz także: Zaznacz każdy n-ty wiersz w Liczbach

Odpowiedzi (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. Wstaw kolumnę
  2. W pierwszym wierszu wstaw formułę =MOD(ROW(),7)
  3. Skopiuj w dół
  4. Skopiuj/wklej wartości specjalne/wartości
  5. Dane/Filtruj te, które chcesz (0 lub 6, prawdopodobnie)
  6. Usuń pozostałe wiersze Usuń filtr Usuń kolumnę
3
3
3
2012-11-08 12:23:18 +0000
  1. Wstaw kolumnę.
  2. W pierwszym wierszu wstaw 1.
  3. Skopiuj w dół do wiersza 7 z wciśniętym Ctrl.
  4. Chwyć ten blok i zrób to samo jeszcze raz do końca.
  5. Dane/Filtruj te, których nie chcesz i usuń je.
  6. Usuń wstawioną kolumnę.
3
3
3
2009-11-12 00:42:01 +0000

Naprawdę tylko dokończenie pomysłu, który rozpoczął Randolph Potter….

Dla rekordu, nie sądzę, że kiedykolwiek mógłbyś wymyślić to przez nagrywanie. Nagrywanie makr jest dobrym sposobem na zapoznanie się z modelem obiektowym Excela, ale nie jest to bardzo dobry sposób na pisanie funkcji wielokrotnego użytku.

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

Aby zaznaczyć co 7 wiersz jest LEPSZY SPOSÓB: w pierwszych 7 wierszach swojej kolumny oprócz jednego (pierwszego) piszesz coś w środku. Następnie zaznaczasz te 7 wierszy i kopiujesz je na całą kolumnę. Teraz to, czego potrzebujesz, to po prostu przejść do SELECT->GO TO SPECIAL->select BLANKS->OK Masz każdy 7 wierszy wybór. Teraz możesz zrobić, co chcesz. Ciesz się!

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

dla każdego 7. wiersza,

  1. wstaw kolumnę
  2. W wierszu od 1 do 6 wstaw “X”
  3. W wierszu 7 wstaw 1,
  4. Automatycznie wypełnij kolumnę tym blokiem
  5. Użyj opcji “Usuń duplikaty” na tej kolumnie
  6. Usuń 1. wiersz (z pierwszym “X”).
  7. Usuń dodaną kolumnę