2013-05-30 141 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 - 這與接受的答案完全相同。 –