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

选择Excel中的第n行

我有一个有数千行的Excel电子表格。我想从该电子表格中选择每7行。(“选择 "的意思是删除所有其他的行,或者将选择的行复制到一个新的工作表中。)

在Excel 2003中最简单的方法是什么?

也请参考。在Numbers中选择第n行

答案 (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. 插入一列
  2. 在第一行插入公式=MOD(ROW(),7)
  3. 复制下来
  4. 复制/粘贴特殊/值
  5. 数据/过滤出你想要的(可能是0或6)
  6. 删除其余的行 移除过滤器 删除列。
3
3
3
2012-11-08 12:23:18 +0000
  1. 插入一列。
  2. 在那里的第一行,插入1
  3. 向下复制到第7行,按住Ctrl键。
  4. 抓住那个块,再做同样的操作,直到最后。
  5. 数据/过滤你不想要的,并删除这些。
  6. 删除插入的列。
3
3
3
2009-11-12 00:42:01 +0000

真的只是完成了伦道夫-波特开始的想法….。

郑重声明,我不认为你可以通过录制来实现。宏录制是熟悉Excel对象模型的好方法,但不是编写可重用函数的好方法。

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

选择第7行,有一个更简单的方法:在你的列的前7行中,除了1行(第一行),你在里面写一些东西。然后你选择这7行,并将它们复制到整个列中。现在你需要做的就是进入SELECT-/>进入SPECIAL-/>select BLANKS-/>OK 你有每7行一个选择。现在你可以做你想做的事情。好好享受吧

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

每第7行,

1.插入一列 2.在第1行到第6行放一个 “X ” 3. 在第1行到第6行放一个 “X ” 3.在第7行放1, 4.自动用该块填入你的列 5. 在该列上使用 “删除重复 ” 6. 删除第1行(带有第1个 “X”), 7. 7. 删除新增的列