使用公式自动填充单元格范围。填写而不是下来

时间:2013-09-21 21:57:12

标签: vb.net excel

我的公式位于单元格区域B6:AH6中。我想用相同的公式填充从B7开始的列。范围是动态的,所以我创建了一个函数来查找最后一行。

我的自动填充程序无法正常运行。我做了一些在线研究并将代码放在一起。但是,当我运行该程序时,它会填满而不是向下。我怎样才能让它填满。

以下是我制定的程序:

首先找到最后一行的函数:

Public Function GetLastRow(ByVal rngToCheck As Excel.Range) As Long

Dim rngLast As Excel.Range

rngLast = rngToCheck.Find(What:="*", SearchOrder:=Excel.XlSearchOrder.xlByRows, SearchDirection:=Excel.XlSearchDirection.xlPrevious)

    If rngLast Is Nothing Then
        GetLastRow = rngToCheck.Rows.Count
    Else
        GetLastRow = rngLast.Rows.Count
    End If

End Function

这是我自动填充范围的程序:

    Dim eeRefSheets As Excel.Worksheet
    Dim cellRange As Excel.Range

    For i As Long = 1 To 3 Step 1

        eeRefSheets = EmployeeSheets(i)

        With eeRefSheets
            cellRange = .Range("B6:H6")

            Dim lngLr As Long = GetLastRow(.Cells)

            cellRange.AutoFill(.Range("B6:H" & lngLr), Excel.XlAutoFillType.xlFillDefault)

        End With

    Next


End Sub

1 个答案:

答案 0 :(得分:1)

我想出了这个问题。我找到最后一行的功能不正确。修复了问题,数据填满了单元格。

    Dim eeRefSheets As Excel.Worksheet

For i As Long = 1 To 3 Step 1

    eeRefSheets = EmployeeSheets(i)

    With eeRefSheets
        Dim lngLr As Long

        lngLr = .Cells.Find(What:="*", SearchDirection:=Excel.XlSearchDirection.xlPrevious, SearchOrder:=Excel.XlSearchOrder.xlByRows).Row

        .Range("B6:AH6").AutoFill(.Range("B6:AH" & lngLr), Excel.XlAutoFillType.xlFillDefault)

    End With

Next i

End Sub