我的公式位于单元格区域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
答案 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