EXCEL中的VBA.自动填充



如何在右侧进行自动填充?

我已经搜索并试图复制我在其他线程上看到的相同步骤,但它不适合我。也许是因为缺乏直觉。

我的工作表是从VBA生成一个新的工作表(它是一个蒙特卡罗模拟)。我想在矩阵的顶部生成一条新线,并用"0,1,2,…,X">

填充从B1到最后一列的线我试过下面的代码:

Sheets("valores").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B1").Select
ActiveCell.FormulaR1C1 = "0"
Range("B2").Select
Selection.End(xlToRight).Select
Range("LastColumn"&1).Select
Range(Selection, Selection.End(xlToLeft)).Select
Selection.DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlDay, Step _
:=1, Trend:=False

MsgBox "Sheet generated."

有人能给我一些帮助吗?谢谢你!

假设您想从单元格B1向右填充到单元格X,连续增加值1,那么您可以使用以下代码:假设单元格X为Z1,则有:

Range("B1").Value=0
Range("B1").Select
Selection.Autofill Destination :=Range("B1:Z1"), Type 
:=xlFillSeries

如果范围是动态的,那么你可以尝试以下操作:

Private Sub AutoFill()
Dim lColumn As Long
Dim rango As String
Dim nColumn As String
lColumn = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
Cells(2, lColumn).Select
rango = ActiveCell.Address
nColumn = Mid(rango, InStr(rango, "$") + 1, InStr(2, rango, "$") - 2)
Range("B1").Value = 0
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:" & nColumn & "1"), Type:=xlFillSeries
MsgBox ("AutoFill is completed for: " & "B1:" & nColumn & "1")
End Sub

我假设您的数据位于Raw 2,从单元格B2开始。前面的代码将使用Raw 2来查找最后一列。

最新更新