#excel
#excel
Вопрос:
В Excel я хотел бы выделить ячейку, а затем скопировать содержимое в n ячеек ниже. Вместо того, чтобы использовать опцию перетаскивания «заполнить», поскольку количество строк будет довольно большим и потребует прокрутки, а затем остановки в нужной ячейке, я искал другие варианты.
В настоящее время я делаю следующее:
В Excel я выбираю ячейку, а затем в верхнем левом углу отображается ячейка (т.Е. A1). Затем, чтобы выбрать количество ячеек под ним, я изменяю верхнее левое поле на диапазон, такой как A1: A10, который выбирает диапазон ячеек. Смотрите прикрепленное изображение. Затем я использую комбинацию клавиш «Ctrl-D», которая копирует первую ячейку в другие ячейки.
Есть ли способ вместо того, чтобы мысленно вычислять конечный номер ячейки, я могу сделать что-то, что эффективно работает «A1 10» в этом поле, чтобы выбрать 10 ячеек ниже, чтобы выбрать диапазон A1: A10?
Комментарии:
1. вы пишете некоторый vba, который использует поле ввода для запроса количества ячеек для копирования, а затем выполняет действие на основе выбранной ячейки. Затем вы привязываете его к сочетанию клавиш, и у вас есть то, что вы хотите.
Ответ №1:
Как насчет этого способа? Введите свою формулу в ячейку 1. Введите необходимое количество копий (включая оригинал) в ячейку под ним. Дважды щелкните по введенному числу, и формула будет заполнена.
Чтобы попробовать, установите приведенную ниже процедуру в модуле кода рабочего листа, на котором вы хотите выполнить действие. (Это модуль Excel, настроенный при создании листа. Не устанавливайте код в стандартный модуль кода, который вы должны вставить самостоятельно.)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const TriggerClm As String = "A"
Dim R As Long
With Target
If (.Column = Columns(TriggerClm).Column) And (.Row > 1) Then
R = Val(.Value)
If R Then
With .Offset(-1)
If .HasFormula Then
.Resize(R).FillDown
.Select
Cancel = True
End If
End With
End If
End If
End With
End Sub
Вы можете захотеть или должны изменить код. Например, действие ограничено столбцом A. Измените константу в верхней части кода, чтобы указать столбец, который вы предпочитаете, или измените ограничения, чтобы они лучше соответствовали вашим требованиям. Код также проверяет, содержит ли ячейка # 1 формулу. Если это не то, что вы хотите заполнить, это условие придется пересмотреть.
И последнее, но не менее важное: код выбирает ячейку №1 (та, которая содержала номер, перезаписывается). Возможно, это не самый лучший выбор. Вы можете изменить код, чтобы выбрать место на вашем листе, где вы будете продолжать работать.