我是excel宏的新手。我想将所选范围复制到剪贴板。
下面是存在half解决方案的链接,它在弹出消息框中提供输出。
Excel VBA get range of user selected range by mouse
喜欢
Sub macro1()
MsgBox Selection.Address(ReferenceStyle:=xlA1, _
RowAbsolute:=False, ColumnAbsolute:=False)
End Sub
但如果我想逃脱弹出窗口并直接将结果复制到clipboad ????
示例:如果我选择了从B15到E40和F23单元格的单元格,它会将msg设为“B15:E40,F23”,我想复制这个msg,而不是这些选定单元格的单元格内容。 / p>
答案 0 :(得分:3)
简单的Selection.Copy
会将所选范围放入剪贴板:)
<强>后续强>
要复制所选范围的单元格地址,请执行此操作。
'~~> Set a reference to Microsoft Forms Object Library
Sub Sample()
Dim strAddr As String
Dim MyDataObj As New DataObject
strAddr = Selection.Address
'~~> This will put the address string in the Clipboard. To test this
'~~> After you run this macro, press CTL - V in Notepad.
MyDataObj.SetText strAddr
MyDataObj.PutInClipboard
End Sub
更多关注
我想用正斜杠替换逗号????
如我的评论中所述,请用斜杠替换逗号。
strAddr = Selection.Address
strAddr = Replace(strAddr, ",", "/")