2011-10-04 09:18:12 +0000 2011-10-04 09:18:12 +0000
6
6

Excel 2007で選択範囲を1行下に移動させるには?

選択範囲を次の行に移動させる方法はありますか?

「E9:H9」が選択されていて、「E10:H10」に選択範囲を移動させたいとします。そのためのショートカットはありますか?選択範囲を拡張するのではなく、1行下に移動させてください。

回答 (4)

12
12
12
2011-10-04 13:29:40 +0000

以下のようなものが必要なようです。

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

これは選択範囲のサイズを変えずに選択範囲を1行下に移動させます。

3
3
3
2011-10-05 05:56:01 +0000

(a) このコードは質問の通り 1 行下には移動しません

(b) これは選択範囲の最初の行だけで動作しますが、複数行の選択範囲で動作させたかったのでしょうか?

© サブを呼び出すのではなく、マウスの右クリックで自動的に実行することができます - シートタブを右クリックして「コードの表示」を選択し、以下のコードを貼り付けてください

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Range("E" & CStr(Selection.Row) & ":" & "GN" & CStr(Selection.Row)).Select
End Sub
1
1
1
2016-06-19 06:32:34 +0000

名前付き引数を使用する代替案は、以下のようになります。

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

正の行オフセットは選択範囲をシートの下に移動させ、負の行オフセットは指定した行数だけ上に移動させ、ゼロオフセットは選択範囲が存在する行を変更しません。

同様に、正のオフセットは選択範囲を右に移動させ、負のオフセットは左に移動させます。もちろんゼロは列を変更しません。

Range.Offsetプロパティ (Excel)

2つの関連する発見は、今後の訪問者にとっても興味深いものになるかもしれません。

1.列を挿入するには以下のようにします。Selection.EntireColumn.Insert そしてRange.Insertに注意してください。これは、少なくとも保護されたワークシートのようないくつかの状況では(保護されている間は列の挿入が許可されていても)、実行時エラー1004を発生させるので注意してください。 2. これは、選択範囲を移動させる方法を探してここに来るまで気がつきませんでした (ただ、その必要がないことを発見しただけです!)。

0
0
0
2011-10-04 10:12:29 +0000

OK,

カーソルは行内になければならず、"E “と "GN "の範囲は異なる列に対して調整が必要ですが、時間の節約になります:

Sub SelectRange()

  Dim RowNumber As Integer

  RowNumber = Selection.Row
  Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select

End Sub
```.