在以下代码中,范围(C16:I16)将仅复制该行数据。我需要它移动到它下面的下一行,因为它将是第二天。并继续这样做,直到每个月结束。我需要添加什么才能实现这一目标?感谢。
Sub test()
Workbooks("MAY10-Key Indicator Daily Reportcopy.xls").Sheets("Input").Activate
Set c = Range("B15:B45")
For Each cell In c
If cell.Value = Range("I5").Value Then
Workbooks("McKinney Daily Census Template OCT 10 (11).xls").Sheets("McKinney").Range("C16:I16").Copy
cell.Offset(0, 37).PasteSpecial
End If
Next
Application.CutCopyMode = False
End Sub
答案 0 :(得分:0)
在.Offset(i-1, 0)
为#日的范围之后添加i
。除了获取已经填充的行数,从起始参考使用
Public Function CountRows(ByRef r As Range) As Integer
CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
End Function
您还可以使用<range>.Resize(num_rows, num_cols)
函数创建多个单元格(可变大小)的范围。