Excel VBA自动填充dynamic范围并增加10

有没有办法使自动填充增加10而不是1? 我的工作表中以下代码function。 用户(地质学家)在B1中定义起始站号,在B2中定义终点站号。 macros运行并从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 

(第一次海报。不知道我格式正确,并得到了代码行在正确的地方rest)

尝试这个:

 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 

我用Excel 2010试过,有一个增量值可用(步骤)。

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

也许它可以帮助你。

亲切的问候,Christof