Excel VBA复制粘贴范围每7行7次

Excel VBA复制粘贴范围每7行7次,excel,loops,copy,paste,vba,Excel,Loops,Copy,Paste,Vba,下午好 在为我要做的事情研究了好几个小时的正确代码之后,我终于不得不向这里的专家请教了。我对VBA非常陌生(但现在我想征服它!) 我试图复制我每天输入的3个单元格的数据(我将数据输入J:L列),然后将其粘贴7次,每7行粘贴一次(因此,我将周一数据复制/粘贴到接下来的7个周一,在其各自的行中)。每天都会更改,粘贴位置也会更改(将复制星期二数据,然后粘贴到下面的7个星期二行,以此类推)。我输入的数据将始终是J:L列。 然后,一旦粘贴了数据,我就有了一个使用该数据的按钮,并将其清除。因此,在我将数据添

下午好

在为我要做的事情研究了好几个小时的正确代码之后,我终于不得不向这里的专家请教了。我对VBA非常陌生(但现在我想征服它!)

我试图复制我每天输入的3个单元格的数据(我将数据输入J:L列),然后将其粘贴7次,每7行粘贴一次(因此,我将周一数据复制/粘贴到接下来的7个周一,在其各自的行中)。每天都会更改,粘贴位置也会更改(将复制星期二数据,然后粘贴到下面的7个星期二行,以此类推)。我输入的数据将始终是J:L列。 然后,一旦粘贴了数据,我就有了一个使用该数据的按钮,并将其清除。因此,在我将数据添加到下一行的3个单元格之前,J:L列总是清晰的

我很感激任何帮助,因为我只是被难住了。我尝试了“lastrow”的几种变体,但还没有找到适合我的正确编码(从这里拼凑信息,但没有成功)

我试图在这里添加一个快照,但显然,我对此无能为力:/ 这个想法似乎很简单,所以希望会有一个简单的解决方案

谢谢你的威严! 已编辑(很抱歉使我在该站点的第一次运行如此困难:/)


看看这是否有帮助。我预见到了一个问题,即一旦您将值复制到工作表中(比如周一),最后使用的行将是第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

请发布您尝试过的代码。Sub CopyPaste()“”CopyPaste宏“复制并粘贴8周的lastrow范围,只要lastrow=range(“J”和Rows.Count)。End(xlUp)。Row”选择。复制范围(“J27”)。选择ActiveSheet.Paste范围(“J34”)。选择ActiveSheet.Paste范围(“J41”)。选择ActiveSheet.Paste Range(“J48”)。选择ActiveSheet.Paste Range(“J55”)。选择ActiveSheet.Paste Range(“J62”)。选择ActiveSheet.Paste Range(“J69”)。选择ActiveSheet.Paste Application.CutCopyMode=False End Sub第一个星期一是否总是从J27开始?在哪里输入数据?当我开始尝试找出要粘贴到下一个7个星期一行中的代码时,J27是星期一的行。一旦那个日期过去了,下周一我会将数据输入J34,这样我就可以在那里复制数据,并将其复制到下一个7个周一行。我有点困惑。您的代码表明您希望从一个未指定的单元格复制到J27、J34等。您能否给出一个具体的示例,说明数据从何处开始以及应该从何处开始?到目前为止,这是我所看到的最好的示例!我把代码分配给一个按钮,所以一旦我按下它,我需要复制数据,粘贴到接下来的7行,然后完成。你的代码运行得很好,但我必须一直移动它,直到我停止粘贴多少行。你能给出一个具体的例子吗?我不知道“我必须一直移动它,直到我停止粘贴多少行”是什么意思。停止印刷!我道歉!我用F8测试了这段代码来完成这些步骤,一次只粘贴一行。我一直按F8来运行它,粘贴另一行,等等。好吧,我应该运行整个宏,因为它工作得非常完美!
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