वास्तव में सिर्फ रेंडोल्फ पॉटर ने इस विचार को खत्म किया ...।
रिकॉर्ड के लिए, मुझे नहीं लगता कि आप कभी भी रिकॉर्डिंग करके इस पर आ सकते हैं। मैक्रो रिकॉर्डिंग एक्सेल ऑब्जेक्ट मॉडल के साथ खुद को परिचित करने का एक अच्छा तरीका है, लेकिन पुन: प्रयोज्य कार्यों को लिखने का एक बहुत अच्छा तरीका नहीं है।
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