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

Как перенести выборку вниз на одну строку в Excel 2007?

Advertisement

Есть ли способ переместить выбранный диапазон в следующую строку?

Допустим, я выбрал “E9:H9” и хочу, чтобы выборка переместилась в “E10:H10”. Есть ли для этого ярлык? Выделение не должно быть расширено, а должно быть перемещено на одну строку вниз.

Advertisement
Advertisement

Ответы (4)

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

Похоже, тебе просто нужно что-то вроде этого:

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

Это сдвинет ваше выделение на один ряд вниз без изменения размера выделения.

3
3
3
2011-10-05 05:56:01 +0000
1
Advertisement
1
1
2016-06-19 06:32:34 +0000
Advertisement

Альтернатива, использующая именованные аргументы, и, следовательно, гораздо яснее, это нечто подобное.

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

Положительный rowOffset перемещает выделение вниз по листу, отрицательный rowOffset перемещает вверх указанное количество строк, а нулевое смещение оставляет строку, в которой находится выделение, неизменным.

Аналогично, положительное смещение перемещает выделение вправо, отрицательное - влево. Ноль, конечно, оставляет колонку без изменений.

Смотрите Range.Offset Property (Excel)

Два связанных открытия могут также представлять интерес для будущих посетителей.

  1. Для вставки колонки сделайте следующее. Selection.EntireColumn.Insert и остерегайтесь Range.Insert, что увеличивает ошибку выполнения 1004, по крайней мере, при некоторых обстоятельствах, таких как защищенные рабочие листы (даже если вставка столбца разрешена в то время, когда он защищен).
  2. Только что описанный метод оставляет точку вставки в новом столбце, которую я не замечал до тех пор, пока не пришел сюда в поисках метода для перемещения выделения (только для того, чтобы обнаружить, что он мне не нужен!).
0
0
0
2011-10-04 10:12:29 +0000

Хорошо,

Курсор должен быть в строке, а диапазоны “E” и “GN” нуждаются в регулировке для разных столбцов, но это экономит мне немного времени:

Sub SelectRange()

  Dim RowNumber As Integer

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

End Sub
Advertisement

Похожие вопросы

6
13
9
10
13
Advertisement
Advertisement