Я должен заполнить столбец Excel последовательным рядом, в этом случае от-500 до 1 000. У меня есть макрос, чтобы сделать это, но проводит много строк для чего-то, что кажется, что должна быть единственная функция [что-то как FillRange (A2:A1502,-500, 1000, 1)]. Но если та функция существует, я не могу найти его. Действительно ли следующее так просто и изящно, как это добирается?
'Draw X axis scale
Cells(1, 1).Value = "mV"
Cells(2, 1).Value = -500
Cells(3, 1).Value = -499
Cells(4, 1).Value = -498
Dim selection1 As Range, selection2 As Range
Set selection1 = Sheet1.Range("A2:A4")
Set selection2 = Sheet1.Range("A2:A1502")
selection1.AutoFill Destination:=selection2
То, что Вы ищете, не является функцией.
Тип-500 в A2 и тип "Ctrl+Enter" (Который принимает число и выбирает ячейку),
Затем перейдите к Меню "Редактирования"-> "Заливка"-> "Ряд"
Установите "Ряд в" на "Столбцы"
Установите "значение остановки" к 1 000
Хит "хорошо" и у Вас будет результат, который Вы хотите.
Sub Test()
Call NumberSeriesI(Sheet1.Range("A1"), "MySeries", -1000, 500, 1)
End Sub
Sub NumberSeriesI(StartCell As Range, Header As String, FirstN As Integer, LastN As Integer, StepN As Integer)
' Integer version
Dim i As Integer ' Value
Dim r As Integer ' row
StartCell.Cells(1).Value = Header ' Cells(1) makes sure it only uses the first cell of passed-in range,
' in case you pass in a multi-celled range for StartCell
i = FirstN
r = 1
Application.ScreenUpdating = False ' Much faster, so the screen is not refreshed until all the values in place
For i = FirstN To LastN Step StepN
StartCell.Cells(1).Offset(r, 0).Value = i
i = i + StepN
r = r + 1
Next i
Application.ScreenUpdating = True
End Sub ' NumberSeriesI