我需要使用Excel
在VBA
文件中选择多个范围,然后将它们复制到剪贴板中,然后将它们粘贴到文本编辑器中。我记录了几个宏 - 每个宏都用于每个范围。但在这种情况下,我需要运行第一个宏然后粘贴,然后第二个,依此类推。这非常耗时。有没有办法选择第一个范围并粘贴到剪贴板内,然后在剪贴板中添加下一个范围?
我想我可以收集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
修改
我的情况我需要一个接一个地以相同的顺序粘贴Clipboard
中的范围,因为我使用Excel
来创建公式,如果我尝试粘贴整个范围,结果不是有效的。
答案 0 :(得分:0)
您可以使用Union将多个范围区域组合到单个Range对象中
Dim rng As Range
Set rng = Union(Range("A1:A3"),Range("B6:B9"))
rng.Copy
但是在您的情况下,您似乎想要复制单个区域范围,即GF4:GP1000。根本不需要联盟