移动到范围中的下一行数据

时间:2010-11-02 17:55:37

标签: excel-vba vba excel

在以下代码中,范围(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

1 个答案:

答案 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)函数创建多个单元格(可变大小)的范围。