Excel 将活动单元格复制到另一张图纸A列中的最后一个可用单元格
我想将活动单元格复制到另一张名为“注释”的工作表A列中的最后一个空闲单元格 我尝试了以下代码:Excel 将活动单元格复制到另一张图纸A列中的最后一个可用单元格,excel,vba,Excel,Vba,我想将活动单元格复制到另一张名为“注释”的工作表A列中的最后一个空闲单元格 我尝试了以下代码: Sub Macro3() 'Keyboard Shortcut: Ctrl y Dim LastRowMaster As Long 'Take the cell I'm in ActiveCell.Select 'Copy it Selection.Copy 'Go to the sheet I want to paste into
Sub Macro3()
'Keyboard Shortcut: Ctrl y
Dim LastRowMaster As Long
'Take the cell I'm in
ActiveCell.Select
'Copy it
Selection.Copy
'Go to the sheet I want to paste into
Sheets("comments").Select
'Find the last row in my sheet "comments" and +1
LastRowMaster = Worksheets("comments").Cells(Worksheets("comments").Rows.Count, 1).End(xlUp).Row + 1
'Choose the last free cell in column A
Range("A:").Copy Destination:=ThisWorkbook.Worksheets("comments").Cells(LastRowMaster, "A")
'Copy my paste
ActiveSheet.Paste
End Sub
我犯了一个错误
“对象\u全局的方法“范围”失败
在这方面:
Range("A:").Copy Destination:=ThisWorkbook.Worksheets("comments").Cells(LastRowMaster, "A")
首先,阅读,你可以加快和缩短你的代码
我认为这是您想要的(A:
不是有效的范围引用),但我不建议您将代码基于activecell
Sub Macro3()
Dim LastRowMaster As Long
With Worksheets("comments") 'avoid repeating this on every line
LastRowMaster = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
ActiveCell.Copy Destination:=.Cells(LastRowMaster, "A") 'copy and paste on the same line
End With
End Sub
那么代码是这样的
Sub Macro3()
Dim LastRowMaster As Long
With Worksheets("comments")
LastRowMaster = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
ActiveCell.Copy Destination:=.Cells(LastRowMaster, "A").Value = ActiveCell.Value
End With
End Sub
它出现了一个错误。我刚好漏掉了一个点/空白或什么的。
啊,我看不出有什么问题
范围类的复制方法失败
这会将activecell复制到A列下一个空单元格的“注释”表中:
Sub Macro3()
Dim LastRowMaster As Long
With Worksheets("comments")
LastRowMaster = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(LastRowMaster, "A").Value = ActiveCell.Value
End With
End Sub
嗨,SJR,谢谢你的回复。这似乎就是我要找的那种代码。谢谢!但我忘记了我试图复制的值来自公式。因此,我得到了一个错误。我可以做些什么,所以我只复制值吗?而不复制公式吗?比如:.PasteSpecial(xlPasteValuesAndNumberFormats)可能吗?再次感谢您抽出时间来帮助我。您可以使用
.Cells(LastRowMaster,“A”).value=activecell.value
来复制值,或者使用您建议的方法(粘贴特殊位需要在单独的行上)。请尝试.Cells(LastRowMaster,“A”).Value=ActiveCell.Value
不带ActiveCell.Copy目标:=