excel vba通过鼠标获取用户选定范围的范围,并将其复制到剪贴板

excel vba通过鼠标获取用户选定范围的范围,并将其复制到剪贴板,excel,vba,Excel,Vba,我不熟悉excel宏。我想将所选范围复制到剪贴板 下面是存在半个解决方案的链接,它在弹出消息框中给出输出 就像 Sub macro1() MsgBox Selection.Address(ReferenceStyle:=xlA1, _ RowAbsolute:=False, ColumnAbsolute:=False) End Sub 但是如果我想退出弹出窗口并直接将结果复制到剪贴簿 示例:如果我选择了B15到E40和F23单元格中的

我不熟悉excel宏。我想将所选范围复制到剪贴板

下面是存在半个解决方案的链接,它在弹出消息框中给出输出

就像

Sub macro1()
  MsgBox Selection.Address(ReferenceStyle:=xlA1, _
                           RowAbsolute:=False, ColumnAbsolute:=False)
End Sub
但是如果我想退出弹出窗口并直接将结果复制到剪贴簿


示例:如果我选择了B15到E40和F23单元格中的单元格,它会将消息显示为“B15:E40,F23”,我想复制此消息,而不是这些选定单元格的单元格内容。

简单的
选择。复制
会将所选范围放置到剪贴板:)

跟进

要复制选定范围的单元格地址,请执行此操作

'~~> 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, ",", "/")

一个简单的
选择。复制
会将所选范围放入剪贴板:)

跟进

要复制选定范围的单元格地址,请执行此操作

'~~> 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, ",", "/")

错!!它复制单元格内容,而不是输出范围!示例:如果我选择了B15到E40和F23单元格中的单元格,它会给出消息“B15:E40,F23”,我想复制此消息,而不是这些选定单元格的单元格内容。
错误!!它复制单元格内容,而不是输出范围放松:)没有必要跳枪;)我已经更新了上面的帖子…它给出了一个错误消息:“编译错误:用户定义类型未定义”,感觉像。。您非常接近解决方案……:)请阅读代码中的第一条注释;)<代码>'~~>设置对Microsoft窗体对象库的引用
错误!!它复制单元格内容,而不是输出范围!示例:如果我选择了B15到E40和F23单元格中的单元格,它会给出消息“B15:E40,F23”,我想复制此消息,而不是这些选定单元格的单元格内容。
错误!!它复制单元格内容,而不是输出范围放松:)没有必要跳枪;)我已经更新了上面的帖子…它给出了一个错误消息:“编译错误:用户定义类型未定义”,感觉像。。您非常接近解决方案……:)请阅读代码中的第一条注释;)<代码>'~~>设置对Microsoft窗体对象库的引用