SSブログ
オリジナルEA・インジケーター制作
FX自動売買ソフト製作のMagic EA Maker

もう少し [FX エクセル]

[FXシステムトレード] ブログ村キーワード

やはり歯抜けデータの問題は不可避だったので、対応中

以下は歯抜けを検出し、行を挿入するプロセス。

同じ時刻の価格を比べる必要があるため。

Sub InsertCell()
ZikanB = InputBox("【冬時間指定】何時からを抽出しますか?(0〜23)")
HunB = InputBox("【冬時間指定】何分から抽出しますか?(0〜59)")
ZikanE = InputBox("【冬時間指定】何時までを抽出しますか?(0〜23)")
HunE = InputBox("【冬時間指定】何分まで抽出しますか?(0〜59)")

For t = 0 To 10 Step 9
lastrow(0) = Cells(1, 1 + t).End(xlDown).Row 'MA40最終行
Cells(1, 1 + t).Activate
ic = 0
Do Until ActiveCell.Value = "" 'For ic = 1 To lastrow(0)
ic = ic + 1
Cells(ic, 1 + t).Activate
HSup = Minute(Cells(ic, 2 + t))
HSdown = Minute(Cells(ic + 1, 2 + t))
HScalc = HSdown - HSup
HidukeUp = Day(Cells(ic, 1 + t))
HidukeDown = Day(Cells(ic + 1, 1 + t))

HJ = Hour(Cells(ic, 2 + t))
OJ = Hour(Cells(ic, 2 + t))
HH = Minute(Cells(ic, 2 + t))
OH = Minute(Cells(ic, 2 + t))

If HidukeDown <> HidukeUp Then '日付が違っていたら
If HSdown <> HunB Then 'HHがスタートになっているかチェック
InsSuu = HSdown - HunB
For icc = 1 To InsSuu
Range(Cells(ic + 1, 1 + t), Cells(ic + 1, 8 + t)).Insert
'lastrow(0) = lastrow(0) + 1
ic = ic + 1
Next
End If
If HSup <> HunE And Cells(ic + 1, 1) <> "" Then 'OHが終わりになっているかチェック
InsSuu = HunE - HSup
For icc = 1 To InsSuu
Range(Cells(ic + 1, 1 + t), Cells(ic + 1, 8 + t)).Insert
'lastrow(0) = lastrow(0) + 1
ic = ic + 1
Next
End If
End If

Select Case HScalc
Case Is > 1 '1分毎か否か
If HidukeDown = HidukeUp Then '日付が同じか
InsSuu = HSdown - HSup - 1
For icc = 1 To InsSuu
Range(Cells(ic + 1, 1 + t), Cells(ic + 1, 8 + t)).Insert
'lastrow(0) = lastrow(0) + 1
ic = ic + 1
Next
End If
Case Is < 0 '時間が異なる場合
InsSuu = 60 - Abs(HSdown - HSup - 1)
For icc = 1 To InsSuu
Range(Cells(ic + 1, 1 + t), Cells(ic + 1, 8 + t)).Insert
'lastrow(0) = lastrow(0) + 1
ic = ic + 1
Next
End Select

Loop 'Next
Next t

End Sub



応援お願いします。m(__)m
↓ ↓ ↓ ↓
にほんブログ村 為替ブログ FX システムトレード派へ
にほんブログ村
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

歯抜けデータを埋める|- ブログトップ
GMOクリック証券
GMOクリック証券

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。