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

Jede n-te Zeile in Excel markieren

Ich habe ein Excel-Tabellenblatt mit Tausenden von Zeilen. Ich möchte jede 7. Zeile aus diesem Arbeitsblatt auswählen. (Mit “markieren” meine ich, alle anderen Zeilen zu löschen, oder die markierten Zeilen in ein neues Arbeitsblatt zu kopieren).

Wie kann man das in Excel 2003 am einfachsten machen?

Siehe auch: Jede n-te Zeile in Numbers auswählen

Antworten (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. Eine Spalte einfügen 2. In der ersten Zeile die Formel =MOD(ROW(),7) einfügen 3. Nach unten kopieren
  2. Spezial/Werte kopieren/einfügen
  3. Gewünschte Daten herausfiltern (0 oder 6, wahrscheinlich)
  4. Den Rest der Zeilen löschen Filter entfernen Spalte löschen
3
3
3
2012-11-08 12:23:18 +0000
  1. Fügen Sie eine Spalte ein.
  2. In der ersten Zeile dort 1 einfügen.
  3. Mit gedrückter Strg-Taste nach unten in Zeile 7 kopieren.
  4. Greifen Sie diesen Block und machen Sie dasselbe noch einmal bis zum Ende.
  5. Daten/Filter die, die Sie nicht wollen und löschen Sie diese.
  6. Löschen Sie die eingefügte Spalte.
3
3
3
2009-11-12 00:42:01 +0000

Wirklich nur die Vollendung der Idee, die Randolph Potter begonnen hat….

Fürs Protokoll, ich glaube nicht, dass Sie jemals durch Aufzeichnung auf diese Idee kommen könnten. Das Aufzeichnen von Makros ist ein guter Weg, um sich mit dem Excel-Objektmodell vertraut zu machen, aber kein sehr guter Weg, um wiederverwendbare Funktionen zu schreiben.

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

um jede 7. Zeile zu markieren, gibt es einen EINFACHEREN WEG: in den ersten 7 Zeilen Ihrer Spalte außer einer (der ersten) schreiben Sie etwas hinein. Dann markieren Sie diese 7 Zeilen und kopieren sie auf die gesamte Spalte. Jetzt brauchen Sie nur noch auf SELECT->GO TO SPECIAL->select BLANKS->OK zu gehen. Sie haben jede 7 Zeilen eine Auswahl. Jetzt können Sie tun, was Sie wollen. Viel Spaß!

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

für jede 7. Zeile

  1. eine Spalte einfügen
  2. In Zeile 1 bis Zeile 6 ein “X” einfügen
  3. in Zeile 7 eine 1 einfügen,
  4. die Spalte automatisch mit diesem Block ausfüllen
  5. Verwenden Sie “Duplikate entfernen” für diese Spalte
  6. 1. Zeile löschen (mit dem 1. “X”).
  7. Hinzugefügte Spalte löschen