[英]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.