简单的VBAselect:select活动单元格右侧的5个单元格

我正在尝试select一行5个右侧的单元格(select应该包括我的活动单元格)的活动单元格。 我目前的代码是:

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

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

你会使用Selection.Extend?

这将5个单元复制到活动单元的右侧。 如果您select了一个范围,则活动单元格是该范围中的左上angular的单元格。

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

如果要将活动单元格包含在被复制的范围内,则不需要偏移量:

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

请注意,复制前不需要select。

本示例将当前单元Cells定义的新Cells Rangeselect到右侧的单元格5。

请注意.Offset采用Offset(row, columns) ,可以是非常有用的。


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