[英]Excel vba paste from clipboard to another sheet only values
我有一个需要将数据粘贴到的工作簿。 我正在努力实现以下目标:
而且我尝试了很多组合.Paste Destination [...],等等。
我今天使用的是:
Dim wb As Workbook
Dim wsPT As Worksheet
Dim wsQD As Worksheet
Set wb = ActiveWorkbook
Set wsPT = wb.Sheets("PasteTemplate")
Set wsQD = wb.Sheets("QuoteData")
wsPT.Cells.Clear
wsPT.Range("A1").PasteSpecial xlPasteValues
失败的原因是由于以下行,剪贴板不包含任何要粘贴的内容:
wsPT.Cells.Clear
清除单元格时,还将清除先前发出的复制命令。 同样,如果您在另一个单元格中输入或修改信息,或者即使您只是输入单元格本身,复制命令也会被清除。
对于您的特定工作流程,我没有一个完美的解决方法,但是如果您愿意修改步骤4,以便可以从任何工作表运行宏(特别是,用户必须从要复制的工作表中运行命令,通过菜单或通过将宏放置在工具栏上),此代码应起作用:
Dim wb As Workbook
Dim wsPT As Worksheet
Dim wsQD As Worksheet
Dim pRng As Range
Set wb = ActiveWorkbook
Set wsPT = wb.Sheets("PasteTemplate")
Set wsQD = wb.Sheets("QuoteData")
Set pRng = Selection <~~ Store the range we want to copy
wsPT.Cells.Clear <~~ Clear the contents of the worksheet we are pasting to
pRng.Copy <~~ Copy the range
wsPT.Range("A1").PasteSpecial xlPasteValues
选择所需的范围后,从要复制数据的工作表中运行宏。
你有没有尝试过..?
Range("A1").Copy Destination:=Workbooks("QuoteDate").Sheets("PasteTemplate").Range("A1")
这将从报价日期表中复制并粘贴在“粘贴”模板表中,如果需要,可以交换这些名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.