首页 文章

如何选择多个范围并使用Excel vba将它们放入剪贴板?

提问于
浏览
0

我需要使用 VBAExcel 文件中选择多个范围,然后将它们复制到剪贴板中,然后将它们粘贴到文本编辑器中 . 我记录了几个宏 - 每个宏都用于每个范围 . 但在这种情况下,我需要运行第一个宏然后粘贴,然后第二个,依此类推 . 这非常耗时 . 有没有办法选择第一个范围并粘贴到剪贴板内,然后在剪贴板中添加下一个范围?

我想我可以收集var中的所有选择然后粘贴,但我不玩 VBA 并且我不知道我必须使用的对象 .

我的代码看起来:

Sub step01_Select_DB_Structure()
' Select DB structure and copy into memory
    Range("GF4:GG1000").Select
    Application.CutCopyMode = False
    Selection.Copy
End Sub

Sub step02_Select_UK_Index()
' Select UK column
    Range("GH4:GH1000").Select
    Application.CutCopyMode = False
    Selection.Copy
End Sub

Sub step03_Select_PK_Index()
' Select PK column
    Range("GI4:GI1000").Select
    Application.CutCopyMode = False
    Selection.Copy
End Sub

Sub step04_Select_FK_Index()
' Select FK column
    Range("GJ4:GJ1000").Select
    Application.CutCopyMode = False
    Selection.Copy
End Sub

Sub step05_Select_Others()
' Select Other columns
    Range("GK4:GP1000").Select
    Application.CutCopyMode = False
    Selection.Copy
End Sub

EDIT:

我的情况我需要一个接一个地以相同的顺序在 Clipboard 中粘贴范围,因为我使用 Excel 来创建公式,如果我尝试粘贴整个范围,结果无效 .

1 回答

  • 0

    您可以使用Union将多个范围区域组合到单个Range对象中

    Dim rng As Range
        Set rng = Union(Range("A1:A3"),Range("B6:B9"))
        rng.Copy
    

    但是在您的情况下,您似乎想要复制单个区域范围,即GF4:GP1000 . 根本不需要联盟

相关问题