Excel выбор количества ячеек под выбранными параметрами быстрого доступа к ячейкам

#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 (та, которая содержала номер, перезаписывается). Возможно, это не самый лучший выбор. Вы можете изменить код, чтобы выбрать место на вашем листе, где вы будете продолжать работать.