Excel 移动到范围中的下一行数据
在以下代码范围(C16:I16)中,将仅复制该行数据。我需要它移动到它下面的下一行,因为它将是第二天。并继续这样做,直到每个月底。要实现这一点,我需要添加什么?谢谢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").
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再次