15
15
选择Excel中的第n行
我有一个有数千行的Excel电子表格。我想从该电子表格中选择每7行。(“选择 "的意思是删除所有其他的行,或者将选择的行复制到一个新的工作表中。)
在Excel 2003中最简单的方法是什么?
也请参考。在Numbers中选择第n行。
我有一个有数千行的Excel电子表格。我想从该电子表格中选择每7行。(“选择 "的意思是删除所有其他的行,或者将选择的行复制到一个新的工作表中。)
在Excel 2003中最简单的方法是什么?
也请参考。在Numbers中选择第n行。
真的只是完成了伦道夫-波特开始的想法….。
郑重声明,我不认为你可以通过录制来实现。宏录制是熟悉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
选择第7行,有一个更简单的方法:在你的列的前7行中,除了1行(第一行),你在里面写一些东西。然后你选择这7行,并将它们复制到整个列中。现在你需要做的就是进入SELECT-/>进入SPECIAL-/>select BLANKS-/>OK 你有每7行一个选择。现在你可以做你想做的事情。好好享受吧