Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 移动到范围中的下一行数据_Excel_Vba - Fatal编程技术网

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

Excel 移动到范围中的下一行数据,excel,vba,Excel,Vba,在以下代码范围(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").

在以下代码范围(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
i
为天的范围后添加
.Offset(i-1,0)
。除了获取已填充的行数之外,还可以从起始引用开始使用

Public Function CountRows(ByRef r As Range) As Integer
    CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
End Function

您还可以使用
.Resize(num\u rows,num\u cols)
函数创建多个单元格的范围(大小可变)。

很难理解您想做什么,但是如果您想根据月份的日期做一些不同的事情,您需要参考当前的系统日期。@Patrick。有两本工作手册。WB1在A列中列出了11月份的日期。WB2也有11月份的日期,但数据为C16:I45(涵盖11月份的每天)。范围(I5)是一个包含=today()…的单元格,因此今天是11/02/10,数据行是C16:I16。明天将是2010年11月3日,我需要将范围(C16:I16)向下移动到(C17:I17),并在整个月内继续。我希望这会有所帮助。在上面的代码中,我应该在哪里添加公共功能?@jalexiou。我添加了.offset和公共函数,但是在我的WB2上,在2010年11月1日,数据的范围是C15:I15。我需要11/02/10的范围自动下降到C16:I16,但它只是复制和粘贴C15:I15再次