2013-05-30 143 views
2

我试图选择一行5个单元格(活动单元格的选择应该包括我的活动单元格)。我当前的代码是:简单的VBA选择:选择活动单元右侧的5个单元格

Sub SelectandCopy() 
' 
' SelectandCopy Macro 
' 
' Keyboard Shortcut: Ctrl+Shift+C 
' 
ActiveCell.CurrentRegion.Select 
Selection.Copy 
Windows("Study.xlsx").Activate 
End Sub 

我想不会从我的工作表中的特定范围,因为我希望能够使从任何地方我的工作表中选择这些数据集。任何帮助将不胜感激!!

你会使用Selection.Extend?

回答

7

这将复制5个细胞到activecell的右侧。如果您选择了一个范围,则活动单元格是该范围内的左上角单元格。

Sub Copy5CellsToRight() 
    ActiveCell.Offset(, 1).Resize(1, 5).Copy 
End Sub 

如果你想在那个被复制的范围内activecell,你不需要偏移:

Sub ExtendAndCopy5CellsToRight() 
    ActiveCell.Resize(1, 6).Copy 
End Sub 

请注意,您不需要复制之前选择。

+0

这样做的窍门,但它并没有复制我目前的活动单元格。 – user2437803

+0

看到我编辑的答案。第二个版本将包含您当前的活动单元格。 –

+0

非常感谢您的帮助! – user2437803

1

本示例选择由当前单元格定义的Cells的新Range到右侧的单元格5。

请注意,.Offset需要Offset(row, columns)的参数,并且可能非常有用。


Sub testForStackOverflow() 
    Range(ActiveCell, ActiveCell.Offset(0, 5)).Copy 
End Sub 
+0

+1 - 这与接受的答案完全相同。 –