簡體   English   中英

Excel VBA - 從剪貼板粘貼文本(錯誤 1004)

[英]Excel VBA - paste text from clipboard (error 1004)

有人可以幫助我使用此代碼嗎?

Sub TEST()
Dim Val As Variant
Sheets("Sheet 3").Select
Val = Range("A2").Value
Sheets("Sheet 1").Select
Range("AY" & Val).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Sheets("Sheet 3").Select
Application.CutCopyMode = False
End Sub

我必須將簡單的數字從網絡傳輸到 excel。 我需要將數字從網絡復制到剪貼板,然后轉到 excel 並運行宏。 這個宏應該根據 A2 值轉到“工作表 3”設置“Val”,轉到工作表 1,在 AY 和“Val”中選擇范圍並從剪貼板粘貼到該單元格數據(數字)。

但是當宏到達第 7 行(Selection.PasteSpecial)時,我收到錯誤:

運行時錯誤“1004”:Range 類的 PasteSpecial 方法失敗

請問哪里有BUG:)

您必須使用 MSForms.DataObject 與剪貼板交互:

Sub TextFromClipboard()
'This works only with text!
  Dim oData As Object

  'New MSForms.DataObject with guid and late binding
  Set oData = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

  'Get text from clipboard
  'to the DataObject
  oData.GetFromClipboard

  'Show text
  MsgBox oData.GetText
End Sub

要將文本放入剪貼板,您可以使用以下兩種方法:

oData.SetText sText
oData.PutInClipboard

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM