非常に反復的なタスクを実行するマクロを書きたいと思っていましたが、VBA に入るのが予想以上に困難です。Excel のマクロのプログラミング方法は非常に役立つので、時間があるときに学習しますが、今週は 5 時間から 12 時間を費やすことはできません。
ここにいる誰かが助けてくれるかもしれません!
このパターンに従ういくつかの Excel ファイルがあります。
Column C - Column D
--------------------
text | (empty)
number | (empty)
number | (empty)
text | (empty)
number | (empty)
text | (empty)
text | (empty)
number | (empty)
text | (empty)
number | (empty)
数千のセルでテキストと数字がランダムに交互に表示されます。列 C が数値の場合、前の数値との差を保持する列 D が必要です。それ以外の場合は、空白のままにする必要があります。
Column C - Column D
--------------------
text | (empty)
3 | (empty)
14 | (=C3-C2) : 11
text | (empty)
16 | (=C5-C3) : 2
text | (empty)
text | (empty)
21 | (=C8-C5) : 5
22 | (=C9-C8) : 1
したがって、アルゴリズムは次のとおりです。
var previousNumberCell
var i = 1
for all (selected) cells/rows
if (Row(i).column(C) holds number) {
Row(i).column(D).value = "=C"+i+"-"C"+previousNumberCell
previousNumberCell = i;
}
i++
End
最初または最後のセルが機能しないかどうかは気にしません。
助けてくれてありがとう、またはこれに対する答えを見つけることができる場所を教えてください。
編集: これは問題の簡略化されたバージョンです。Excel マクロでうまくいく方法がわからないことが 2 つあります。セルを選択し、セルが数値であるかどうかを確認してください。テキスト形式から数値形式へ。