Страницы: 1
RSS
Заполнение ячеек макросом
 
Всем привет! Возможно ли сделать подобное в ексель с помощью макросов, как описал в приложенном файле?
 
Бэкенд, без фронтенда.
Код
Sub test()
    FillRight Range("P26"), 3
    FillLeft Range("P26"), 6
    FillDown Range("P26"), 12
    FillUp Range("P26"), 4
End Sub

Sub FillRight(rr As Range, nn As Long)
    Dim arr As Variant
    ReDim arr(1 To nn)
    Dim yy As Long
    For yy = 1 To nn
        arr(yy) = yy
    Next
    rr.Resize(1, UBound(arr)) = arr
End Sub
Sub FillLeft(rr As Range, nn As Long)
    Dim arr As Variant
    ReDim arr(1 To nn)
    Dim yy As Long
    For yy = 1 To nn
        arr(yy) = nn - yy + 1
    Next
    rr.Offset(0, -nn + 1).Resize(1, UBound(arr)) = arr
End Sub
Sub FillDown(rr As Range, nn As Long)
    Dim arr As Variant
    ReDim arr(1 To nn, 1 To 1)
    Dim yy As Long
    For yy = 1 To nn
        arr(yy, 1) = yy
    Next
    rr.Resize(UBound(arr, 1), 1) = arr
End Sub
Sub FillUp(rr As Range, nn As Long)
    Dim arr As Variant
    ReDim arr(1 To nn, 1 To 1)
    Dim yy As Long
    For yy = 1 To nn
        arr(yy, 1) = nn - yy + 1
    Next
    rr.Offset(-nn + 1, 0).Resize(UBound(arr, 1), 1) = arr
End Sub
 
Спасибо! Действительно работает, осталось найти кто сможет сделать диалоговое окно, для ввода данных)
 
Цитата
Energo73: осталось найти кто сможет сделать диалоговое окно, для ввода данных
есть штатный вариант, если устроит: VBA Excel. Метод Application.InputBox (синтаксис, параметры)
Изменено: Jack Famous - 01.12.2022 14:05:10
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Если честно, то слабоват я в VBA. Готовое решение еще иногда получается переделать под свои нужды и то не всегда)
 
Цитата
написал:
осталось найти кто сможет сделать диалоговое окно
 
Огромное спасибо, за помощь. Только заметил нюанс, если не закрыть диалоговое окно крестиком, то двойной клик больше не работает. Еще один момент, после нажатия двойным кликом по ячейке, выскакивает диалоговое окно, но не дает написать цифры в самом окне. Для этого нужно кликнуть по любой ячейке листа, тогда диалоговое окно дает вбить в себя данные.
Страницы: 1
Наверх