Excel VBA自动填充动态范围和增量10

时间:2014-12-03 03:15:46

标签: excel vba autofill

有没有办法让自动填充增加10而不是1?以下代码在我的工作表中起作用。用户(地质师)定义B1中的起始站号和B2中的终站号。运行宏并从C5开始,该列填充了从开始到结束站的站号。但是,数据只需要每10个站点收集一次,而我无法弄清楚如何将其合并到我的代码中。而不是1000,1001,1002等,我想1000,1010,1020 ......

Sub StationFill()

Dim taskStationEnd As Long
Dim taskStationBegin As Long

taskStationBegin = Range("B1").Value
taskStationEnd = Range("B2").Value

With Worksheets("Data")
    .Columns(3).ClearContents
    Set SourceRange = .Range("C5")
    SourceRange.Value = taskStationBegin
    Set fillRange = .Range(SourceRange, _
      Cells(SourceRange.Row + taskStationEnd - taskStationBegin, SourceRange.Column))
    SourceRange.AutoFill Destination:=fillRange, Type:=xlFillSeries
End With

End Sub

(第一次发布海报。不确定我是否正确格式化并在正确的位置获得了代码换行符)

2 个答案:

答案 0 :(得分:1)

试试这个:

Sub marine()
    Dim taskStationEnd As Long
    Dim taskStationBegin As Long
    Dim SourceRange As Range

    Const interval As Long = 10 '<~~ this is your interval

    With Sheets("Sheet1") '<~~ change to suit
        taskStationBegin = .Range("B1").Value
        taskStationEnd = .Range("B2").Value
        Set SourceRange = .Range("C5")
        SourceRange = taskStationBegin
        SourceRange.Offset(1, 0) = taskStationBegin + interval
        SourceRange.Resize(2).AutoFill _
            SourceRange.Resize(((taskStationEnd - taskStationBegin) / interval) + 1) _
            , xlFillSeries
    End With
End Sub

答案 1 :(得分:0)

我尝试使用Excel 2010,并且有一个增量值(步骤)。

Range("A1:A26").DataSeries Rowcol:=xlColumns, Type:=xlLinear, **Step:=10**

也许它可以帮到你。

亲切的问候, 克里斯托夫