Есть ли способ переместить выбранный диапазон в следующий ряд?
Допустим, я выбрал «E9:H9» и хочу, чтобы выбор переместился на «E10:H10». Есть ли для этого ярлык? Выбор не должен быть расширен, но перемещен на одну строку вниз.
Есть ли способ переместить выбранный диапазон в следующий ряд?
Допустим, я выбрал «E9:H9» и хочу, чтобы выбор переместился на «E10:H10». Есть ли для этого ярлык? Выбор не должен быть расширен, но перемещен на одну строку вниз.
Похоже, вам просто нужно что-то вроде этого:
Sub moveselection()
Selection.Offset(1, 0).Select
End Sub
Это переместит ваш выбор на одну строку вниз без изменения размера выделения.
(а) этот код не сдвигается вниз на одну строку в соответствии с вопросом
(б) Он будет работать только с первой строкой выбора, вы хотели, чтобы он работал с несколькими строками?
(c) Вместо того, чтобы вызывать подпрограмму для этого, вы можете запустить ее автоматически, щелкнув правой кнопкой мыши - вы можете сделать это, добавив правую кнопку мыши на вкладку листа, просмотреть код и вставив код ниже
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
Альтернатива, которая использует именованные аргументы и, следовательно, намного понятнее, выглядит примерно так.
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
Положительное rowOffset перемещает выделение вниз по листу, отрицательное rowOffset перемещает вверх на указанное количество строк, а нулевое смещение оставляет строку, в которой находится выделение, без изменений.
Аналогично, положительные смещения перемещают выбор вправо, в то время как отрицательные смещения перемещают его влево. Ноль, конечно, оставляет столбец без изменений.
Смотрите Диапазон.Свойство смещения (Excel)
Два связанных открытия могут также представлять интерес для будущих посетителей.
Selection.EntireColumn.Insert
и остерегайтесь Range.Вставка, которая вызывает ошибку времени выполнения 1004, по крайней мере, при некоторых обстоятельствах, таких как защищенные рабочие листы (даже если вставка столбца разрешена, пока она защищена).В порядке,
Курсор должен находиться в строке, а диапазоны "E" и "GN" нуждаются в настройке для разных столбцов, но это экономит мне время:
Sub SelectRange()
Dim RowNumber As Integer
RowNumber = Selection.Row
Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select
End Sub