该程序将数据列从累计转换为非累计。在我的工作表上,我有A1,B1和C1分别带有非累积,累积和转换的文本。我在A1下面有数字1到10,然后他们在B1下面累计。 C1是我想将列B转换回非累积的位置。我正确使用isnumeric函数吗?
IsNumeric用于使C中的第一行数据等于B中的第一行数据。它应该检测到标题高于其正在评估的数字,从而知道不需要执行任何计算。对于其余的人来说,它会看到它所评估的数字之上的数字是一个数字,因此计算必须完成。
我的问题是它不工作。我认为这是因为IsNumeric()不断返回为false。我应该使用不同的功能吗?单元格引用在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
@TheTreeMan请试试看代码并发表您的意见:) – bonCodigo
谢谢!我对编码还很陌生,并且还在努力教自己新的东西。你的建议非常出色。谢谢! – TheTreeMan
@TheTreeMan我很高兴你的工作:)高兴地在一些帮助。祝你好运! – bonCodigo