在日常应用中,我们经常遇到这样的操作,每隔相等的几行,要重复做相同的事情。比如做工资条要打印时,每条记录前插入一个标题列;每隔N行的行高,统一调整为X高等。用常规的操作,如果数据少的话还可以承受,但数据量一大,就变成一件苦差事了。
下面这个宏,能够按指定的选择来选择等差行,选选择N至N+M行,然后再运行此宏,就可以选择从N行开始,每隔M行至到数据结束的行了,代码如下:
Sub SelectRange()
'按选择区域给定参数选择等差行
Dim i As Integer, XRan As Range
If Selection.Areas.Count > 1 Then
MsgBox "选择区域应为连续区域!", vbExclamation, "错误"
ElseIf Selection.Row > ActiveSheet.UsedRange.Rows.Count Then
MsgBox "选择区域应在使用区域内!", vbExclamation, "错误"
Else
Set XRan = Rows(Selection.Row)
For i = Selection.Row + Selection.Rows.Count To _
ActiveSheet.UsedRange.Rows.Count Step Selection.Rows.Count
Set XRan = Union(XRan, Rows(i))
Next
XRan.Select
End If
End Sub
=IF(MOD(ROW(),3)=0,"",IF(MOD(ROW(),3)=1,工资表!A$1,INDEX(工资表!$A:$DC,INT((ROW()+4)/3),COLUMN())))
公式中的 “工资表” 要对应相应的工作表
你只需要复制一下往你要的地方拉就可以了。