繁体   English   中英

复制列中的特定单元格并粘贴到另一个工作表中

[英]Copy specific cell in column and paste in another worksheet

我正在尝试编写一个Excel宏,该宏可以从一个工作表中复制特定的单元格并将其粘贴到另一个工作表中。 不幸的是,代码无法正常工作,我看不到哪里出错了。 这是我所拥有的:

Sub sbCopyRangeToAnotherSheet()

Range("A1").Select
Selection.Copy
Sheets("Sheet1").Select
lMaxRows = Cells(Rows.Count, "B").End(xlUp).Row
Range("B" & lMaxRows + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

End 

它正在尝试遵循以下伪代码:

如果工作表中的一行的第一个单元格有一个编号,其余的行为空白,则复制该编号并将其粘贴到第二页的单元格A1中。

否则向下移动一个单元格并再次检查

我将其分配给一个按钮,并在单击它时运行。 我在“ Selection.PasteSpecial ....”行上收到调试错误。

我没有编程经验,这是我的第一次尝试。对于任何错误,深表歉意。 Google在该主题上的搜索使我进入了我的工作计算机由于某种原因被阻止的站点。

谢谢!

您收到该错误消息是因为粘贴时剪贴板已空。

我的建议。 避免使用.Select 定义您的对象并使用它们。 您可能希望看到此链接

如何避免在Excel VBA宏中使用选择

声明对象后,请在粘贴之前移动复制行。

或这样写

lMaxRows = Sheets("Sheet1").Range("B" & _
           Sheets("Sheet1").Rows.Count).End(xlUp).Row + 1

Sheets("Blah Blah").Range("A1").Copy 

Sheets("Sheet1").Range("B" & lMaxRows).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM