Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将活动单元格复制到另一张图纸A列中的最后一个可用单元格_Excel_Vba - Fatal编程技术网

Excel 将活动单元格复制到另一张图纸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

我想将活动单元格复制到另一张名为“注释”的工作表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
    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目标:=