- ベストアンサー
データ抜き出しマクロの改良
- データ抜き出しマクロを改良する方法を教えてください。
- データ抜き出しマクロにおいて、変動があった時にデータを抜き出す方法を教えてください。
- データ抜き出しマクロにおいて、前回の値より一定の増減がある場合にデータを抜き出す方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>前回の値より5多くなった点もプロットするとか >For col = 1 To 255 >Worksheets("shortdata").Cells(ii, col).Value = X.Cells(i, col).Value >Next を For col = 1 To 255 With Worksheets("shortdata").Cells(ii, col) .Value = X.Cells(i, col).Value '1行上の値より5以上大きければセルを黄色で塗りつぶす If ii > 2 And .Value >= .Offset(-1).Value + 5 Then .Interior.ColorIndex = 6 End If End With Next 動作チェックなしですし、勘違いならごめんなさい。
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
#2です。 >エラーが出ます。 >動作チェックして全てのプログラムを書いてもらうと大変ありがたいです。 >もう一度チェックしますと、普段は10行に1個データをぬきとっていて、前回の値よりも10増減した点もプロットする、 >前回の値よりも20%値が変化したらデータをプロットするプログラムを作ってほしいです。 どのようなデータからどのような処理を行なって、どのような結果を出したいのか それらが不明なので完全なコードは私には無理です。 5増減とか10増減とか、10%とか20%とか条件が度々変るのも問題かも。 結局10行毎ではなく1行毎にデータを比較していかないと希望の変化点は見つけられないと想うんですが、 詳細が不明なので勘違いかもしれません。
お礼
ありがとうございます。 毎行ごとにデータを調べてたらとても大変なので、(30分の実験で1800点ある)自動でできるプログラムがあればと思いまして。 なんとかならないでしょうかね? 例えば以下のようにしたいです。 time result 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 100 12 500 13 1000 14 1000 15 1000 16 1000 17 1000 18 1000 19 1000 20 1000 ↓ time result 1 1 10 1 11 100 12 500 13 1000 20 1000
- n-jun
- ベストアンサー率33% (959/2873)
#1です。 >If ii > 2 And .Value >= .Offset(-1).Value + 5 Then >.Interior.ColorIndex = 6 >End If を If ii > 2 Then If .Value >= .Offset(-1).Value + 5 Or .Value <= .Offset(-1).Value - 5 Then .Interior.ColorIndex = 6 End If End If とかかな。
お礼
すいません。 エラーが出ます。 動作チェックして全てのプログラムを書いてもらうと大変ありがたいです。 コピペして使うので。 もう一度チェックしますと、普段は10行に1個データをぬきとっていて、前回の値よりも10増減した点もプロットする、前回の値よりも20%値が変化したらデータをプロットするプログラムを作ってほしいです。
お礼
ありがとうございます。 やってみます。 5大きくなったらというよりも、ある一定の値(例えば5)前回の値より増減 すればプロットするようにしたいです。