我正在尝试编写一个宏来复制来自名为"报告"(数字显然会改变)的工作表中的同一行信息,并将其粘贴到工作表中#34;数据"在第一行中有标题。我试图将值粘贴到下一个空行中,我似乎无法让它正常工作。
我尝试从各种问题中拼凑出一些代码并且无法解决问题。
这是我的代码:
Sub Insert_Data()
'
' Insert_Data Macro
Sheets("Report").Range("B9:F9").Copy
Sheets("Data").Range("A1").PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Sub PSData_Transfer()
Sheets("Report").Range("B9:F9").Copy
Dim lastrow As Long
lastrow = Sheets("Data").Range("A65536").End(xlUp).Row
Sheets("Data").Activate
Cells(lastrow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub
再次感谢您的帮助!
答案 0 :(得分:1)
您可能需要稍微修改一下才能使用您的代码,但请随意使用我在我当前的工作表中使用的代码并且它完美无缺!
Sub Insert_Data()
For R = LR To 2 Step -1 ' Change the 2 in "To 2" to the row just below your header,
' but typically row 2 is the second cell under header anyways
Call CopyTo(Worksheets(2).Range("B" & R & ":C" & R), Worksheets(1)Range("A:B"))
Next R
End Sub
Private Function CopyTo(rngSource As Range, rngDest As Range)
LR = rngDest.cells(Rows.Count, 1).End(xlUp).row
rngDest.cells(LR + 1, 1).value = rngSource.cells(1, 1).value
rngDest.cells(LR + 1, 2).value = rngSource.cells(1, 2).value
End Function
我不喜欢使用复制方法,因为它很慢并且它喜欢复制所有额外的jar,因为获取值更快并且它只检索值