0

簡単な質問である必要があります:

データを貼り付ける次のスクリプトがあります。

Dim a As Range
Set a = Selection
Selection.Cut
Range("C1:I1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste

貼り付けると、ActiveSheetは貼り付けられたセルに移動します。データが切り取られたセルに再度焦点を合わせるにはどうすればよいですか?

現在「A」変数に保持されている範囲に焦点を当てたいと思います。

私はこれを試しました:

a.Select

a.Activate

ただし、実際にはactiveSheetが正しい領域に移動するわけではありません。それを選択するだけです。

4

1 に答える 1

6

あなたが望んでいるように見えることは、1行で達成することができます:

Sub OneLiner()
   Selection.Cut Range("C1:I1").End(xlDown).Offset(1, 0)
End Sub

cutキーワードの後の単一のスペースは、宛先が続くことを意味します。

コードで変数としてを使用していないため、暗くしたり設定したりする必要はありません。

このようにすると、クリップボードは使用されず、カーソルの位置またはページの場所が変更されます。

于 2013-01-24T18:18:29.493 に答える