2013-09-21 130 views
-1

我有位於單元格範圍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

是 「B6:H6」 是否正確? – pnuts

+0

@pnuts是B6:H6是正確的。我只是看到了我發佈的錯誤,我修正了錯誤。謝謝。 –

回答

0

解決問題。我找到最後一行的功能是不正確的。修復了問題,數據填滿了單元格。

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 

末次

相關問題