Excel VBA - 使用可变范围公式填充空数据库单元格

时间:2014-01-08 03:45:32

标签: excel vba formula

我有一个数据库,在不同的单元格中包含“N / A”,这是由临时系统脱机引起的。 我曾经使用图片显示的公式来填充这些“N / A”:

如您所见,A列的数据是累积的,B和C也是累积的。“N / A”通过扩散第一个“N / A”和第一个之前的最后读数之间的差异来补偿。在最后一次“N / A”之后阅读

“N / A”出现在不同的点,长度各不相同。

是否有一个vba代码可以帮助我一键完成整个数据库? 谢谢你先生的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试运行此VBA代码,根据上下数字插入N/A值:

Sub FillNA()

Dim rng As Range, col As Range, a As Range
Set rng = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)

For Each col In ActiveSheet.UsedRange.Columns    
    If Not Intersect(rng, col) Is Nothing Then
        For Each a In Intersect(rng, col).Areas
            If a(1) = "N/A" Then
                a(0).Resize(a.Count + 2).DataSeries Trend:=True
            End If
        Next a    
    End If
Next col

End Sub

(如果N/A出现在范围的开头或结尾,您需要决定如何处理此案例并进行适当的调整)