【问题标题】:VBA Excel 2010 - Paste directly from clipboardVBA Excel 2010 - 直接从剪贴板粘贴
【发布时间】:2016-08-05 18:54:36
【问题描述】:

我正在尝试直接从剪贴板粘贴到 excel 文档中,然后将其转置

Dim DataObj As MSForms.DataObject
 Set DataObj = New MSForms.DataObject
 DataObj.GetFromClipboard

strPaste = DataObj.GetText(1)

strPaste.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

strPaste 确实有正确的数据,但它在 .PasteSpecial 说需要对象时出错

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我认为您需要指定目标粘贴位置并在其上调用PasteSpecial method。您不能在尝试时调用字符串的pasteSpecial 方法。 (因为需要对象的错误)

    看看这个

    Sub testPaste()
    
        Dim DataObj As MSForms.DataObject
        Set DataObj = New MSForms.DataObject
        DataObj.GetFromClipboard
    
        strPaste = DataObj.GetText(1)
    
        Sheets("Sheet2").Rows(1).PasteSpecial Transpose:=True
    
    End Sub
    

    【讨论】:

    • 这工作并且确实粘贴数据并且被转置但是适合将数据一直粘贴到最后一列,使用Sheets("Sheet5").Cells(5, 1).PasteSpecial Transpose:=True让它只将数据粘贴到单个列中
    • @Mr.Burns 所以只需对目标进行一点操作,将数据粘贴到您需要粘贴的位置。我对您要粘贴的数据和粘贴位置一无所知。
    • @Mr.Burns 如果您还有其他需要,请随时提出。我很乐意提供帮助,但需要更多信息 :) 我还没有先知
    猜你喜欢
    • 2015-07-29
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多