将variables的内容复制到剪贴板VBA(Excel 2013)

我知道这应该是一个超级简单的解决scheme,但我无法理解。

我只是做一个简单的button,将“输出”范围内的值复制到我的剪贴板。

Private Sub CommandButton1_Click() Dim Output As String Output = Range("Output") MsgBox (Output + " Text has been copied") End Sub 

我想输出复制到我的剪贴板。

编辑:

很多感谢Sam

我做了一个180,并改变它,

解决scheme如下

 Private Sub CommandButton1_Click() Dim myData As DataObject Dim Output As String Output = UCase(InputBox("Type Text Here")) If Output = "" Then End Else End If Set myData = New DataObject myData.SetText Output myData.PutInClipboard MsgBox (Output + " text has been copied") End Sub 

你最好把Output作为一个对象variables来声明(或者更确切的说是一个范围)。

然后可以使用消息框内的范围值,同时也可以将值复制到剪贴板。

 Private Sub CommandButton1_Click() Dim Output As Range Set Output = Range("Output") Output.Copy MsgBox (Output + " Text has been copied") End Sub 

我假设你想要一个被称为“输出”的RangeValues

下面的脚本将添加联接(如WorkSheetFunction“Concantenate”),然后将其显示在MsgBox并将其复制到ClipBoard。

 Private Sub CommandButton1_Click() Dim Output As Range Dim MyString As String Dim OutputText As DataObject Set OutputText = New DataObject Set Output = Range("A1:A5") MyString = "" For Each cell In Output MyString = MyString & cell.Value & " " Next cell OutputText.SetText MyString OutputText.PutInClipboard MsgBox (MyString + " Text has been copied") End Sub