VBA 将整个单元格值复制到剪贴板

VBA 将整个单元格值复制到剪贴板
Sub Test()
    Dim copycell As DataObject
    Dim ws As Workbook
    Dim strText As String
    Set ws = Workbooks.Open("C:\Users\Desktop\New Microsoft Excel Worksheet.xlsx")
    strText = ws.Sheets("Sheet1").Range("A1").Value
MsgBox strText
   With New MSForms.DataObject
    .SetText strText
    .PutInClipboard
End With
End Sub

场景是将整个 excel 值复制到剪贴板,上述代码将仅复制单元格 A1 值,任何人都可以更新代码,以便将 excel 中的所有数据复制到剪贴板

答案1

以下行:

strText = ws.Sheets("Sheet1").Range("A1").Value

需要更改为:

strText = ws.Sheets("Sheet1").ActiveCell.Value

所作的引用Range("A1")是对单元格 A1 的固定引用。使用ActiveCell则引用当前选定的单元格。

相关内容