该程序是将一列数据从累积转换为非累积。在我的工作表上,我有 A1、B1 和 C1,分别带有文本 Non-Cumulative、Cumulative 和 Converted。我在 A1 下方有数字 1 到 10,然后它们在 B1 下方累积相加。C1 是我想将 B 列转换回非累积的地方。
IsNumeric 用于使 C 中的第一行数据等于 B 中的第一行数据。它应该检测到标题高于它正在评估的数字,因此知道不必执行任何计算。对于其余的,它会看到它正在评估的数字之上的数字是一个数字,因此必须进行计算。
我的问题是它不起作用。我认为原因是因为 IsNumeric() 不断返回为假。我应该使用其他功能吗?单元格引用在 IsNumeric 中不起作用吗?
这是程序!
Option Explicit
Dim i As Variant
Sub Conversion()
Sheets("Test Sheet").Select
For i = 1 To 10
If IsNumeric("B" & i) = False Then
Range("C" & i + 1) = Range("B" & i + 1)
Else: Range("C" & i + 1) = Range("B" & i + 1) - Range("B" & i - 1)
End If
Next
End Sub