3

アクティブ セルの右にある 5 つのセルの行を選択しようとしています (選択範囲にはアクティブ セルが含まれている必要があります)。私の現在のコードは次のとおりです。

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

ワークシート内のどこからでもこれらのデータセットを選択できるようにしたいので、ワークシートから特定の範囲は必要ありません。どんな助けでも大歓迎です!!

Selection.Extend を使用しますか?

4

2 に答える 2

10

これにより、5 つのセルがアクティブセルの右側にコピーされます。範囲が選択されている場合、アクティブ セルは範囲の左上のセルです。

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

コピーされる範囲にアクティブセルを含めたい場合は、オフセットは必要ありません。

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

コピーする前に選択する必要はありません。

于 2013-05-30T18:42:32.787 に答える
2

この例では、現在のセルによって定義された新しいRangeCellsセル 5 右に選択します。

.Offsetは andの引数を取ることに注意してくださいOffset(row, columns)。非常に便利です。


Sub testForStackOverflow()
    Range(ActiveCell, ActiveCell.Offset(0, 5)).Copy
End Sub
于 2013-05-30T18:41:31.600 に答える