このプログラムは、データの列を累積から非累積に変換するためのものです。私のシートには、A1、B1、C1があり、それぞれテキストがNon-Cumulative、Cumulative、Convertedです。A1の下に1から10の数字があり、B1の下に累積的に合計されます。C1は、列Bを非累積に変換したい場所です。
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