下午好,
经过几个小时的研究,我正在尝试做正确的代码,我终于要问专家了。我对VBA非常陌生(但现在迷上了征服它!)。
我正在尝试复制我每天输入的3个数据单元格范围(我将数据输入J:L列),然后将其粘贴7次,每隔7行(所以,我复制/粘贴星期一数据)到下一个7个星期一,在它们各自的行中)。每天都会更改,粘贴位置也会更改(星期二数据将被复制,然后粘贴到下面的下一个7星期二行等)。我输入的数据将始终是列J:L。 然后,一旦粘贴了数据,我就会有一个使用该数据的按钮,并清除它。因此,列J:L总是清晰的,直到我将数据添加到3个单元格的下一行。
任何帮助都表示赞赏,因为我很难过。我尝试了几种变体" lastrow"但是没有找到适合我的编码(从这里拼凑信息,但没有使它工作)。
我试图在这里添加一个快照,但很明显,我甚至也不喜欢这样:/ 这个想法似乎很简单,所以希望有一个简单的解决方案。
谢谢你的精彩! 编辑(抱歉让我第一次在这个网站上运行如此困难:/)
Sub CopyPaste()
'
' CopyPaste Macro
' copies and pastes range for 8 total weeks
'
Dim lastrow As Long
lastrow = Range("J" & Rows.Count).End(xlUp).Row
'
Selection.Copy
Range("J27").Select
ActiveSheet.Paste
Range("J34").Select
ActiveSheet.Paste
Range("J41").Select
ActiveSheet.Paste
Range("J48").Select
ActiveSheet.Paste
Range("J55").Select
ActiveSheet.Paste
Range("J62").Select
ActiveSheet.Paste
Range("J69").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
答案 0 :(得分:0)
看看这是否有帮助。我预见到一个问题,但是一旦你将工作表中的值复制到星期一,最后使用的行将是第70行或类似的东西。
Sub x()
Dim i As Long, lastrow As Long
lastrow = Range("J" & Rows.Count).End(xlUp).Row
For i = 1 To 7
Cells(lastrow, "J").Resize(, 3).Offset(7 * i).Value = Cells(lastrow, "J").Resize(, 3).Value
Next i
End Sub