2016-11-29 68 views
0

我已經看到很多關於在列數據中發現空白的問題,但無法轉移答案以滿足我的需求。我只是一個業餘愛好者,只是爲了讓我的生活充滿挑戰!查找列數據中的空白

我在Excel文件中有一列數字數據。該列包含單個和多個連續的空白單元格。我需要找到空的位置,並使用Excel函數通過線性串行填充函數填充數據間隙。預先感謝任何指導。

到目前爲止我的代碼是

Dim lngLastRow As Long 

lngLastRow = Cells(Rows.Count, "F").End(xlUp).Row 'Search Column F, change as required.  

For Each cell In Range("F3:F" & lngLastRow) 'Starting cell is F3  
    If IsEmpty(Range("F3").Value) = True Then 

    'store this row and check is next cell is blank & apply fill process  

    End If 
Next cell 
+0

如果你只是想抓住從上述改變你的'If'塊到單元格的信息....如果IsEmpty(cell)那麼cell.value = cell.offset(-1).Value' ...在這種情況下不需要'End If'。 –

回答

1

希望這個代碼將實現線性填充:

Sub LinearFill() 
    Dim lngLastRow As Long 
    Dim endRow As Long 
    Dim startValue As Double 
    Dim endValue As Double 
    Dim thisRow As Long 

    With ActiveSheet 
     lngLastRow = .Cells(.Rows.Count, "F").End(xlUp).Row 'Search Column F, change as required. 
     For thisRow = 3 to lngLastRow - 1 
      If IsEmpty(.Cells(thisRow, "F")) Then 
       startValue = CDbl(.Cells(thisRow - 1, "F").Value) 
       endRow = .Cells(thisRow, "F").End(xlDown).Row 
       endValue = CDbl(.Cells(endRow, "F").Value) 
       .Cells(thisRow, "F").Value = startValue + (endValue - startValue)/(endRow - thisRow + 1) 
      End If 
     Next 
    End With 
End Sub 
+0

非常感謝。就是這份工作! – GeoffB