Range("A1")=-500
Range("A1").Select
Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
Step:=1, Stop:=500, Trend:=False
Eu preciso preencher uma coluna do excel com uma série sequencial, neste caso de -500 a 1000. Eu tenho uma macro para fazer isso, mas é preciso um monte de linhas para algo que parece que deve ser um função única [algo como FillRange (A2: A1502, -500, 1000, 1)]. Mas se essa função existe, não consigo encontrá-la. O seguinte é tão simples e elegante quanto possível?
'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
Sub FillASeries()
With Sheet1.Range("a1")
.Value = -500
.AutoFill .Resize(1501, 1), xlFillSeries
End With
End Sub
Eu não acho que exista uma única função, mas isso é tão curto quanto eu posso fazer o procedimento.
O que você procura não é uma função.
Digite -500 em A2 e digite "Ctrl + Enter" (que aceita o número e seleciona a célula)
Em seguida, vá para o menu "Editar" - > "Preencher" - > "Série"
Defina "Série em" para "Colunas"
Defina o "Valor de Parada" para 1000
Clique em "OK" e você terá o resultado desejado.
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
Tags microsoft-excel vba