PU-METALのブログ

日銀にはウンザリなので外貨専になりました

フィルターを検討する準備

今日はタカシヤマで恵方巻き買って帰らあかんのにさっき少し売ってみたらハマったかも?

 

あんな何十万行も有るデータ扱いにくいので、フィルターを検討する前に別シートを作り日ごとに戦績をまとめてみました

 

こんな感じ

f:id:kohnodechu:20170203165558p:plain

Sub 最適化準備()
Dim Rp As Range 'rpは日付
Dim Rq As Range
Dim St As Worksheet, Ss As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set St = Worksheets("test")
Set Ss = Worksheets("sai")
For Each Rp In Selection
With Rp
If .Offset(, 1).Value = 84500 Then
Set Rq = Ss.Range("a" & Ss.Range("a1048576").End(xlUp).Row + 1)
Rq.Value = .Value
Rq.Offset(, 1).Value = .Offset(, 2).Value
Rq.Offset(, 2).Value = .Offset(, 13).Value
Rq.Offset(, 3).Value = .Offset(, 14).Value
Rq.Offset(, 4).Value = .Offset(, 15).Value
Rq.Offset(, 5).Value = Sgn(.Offset(, 12).Value - .Offset(, 11).Value)
End If
If .Offset(, 16).Value = 0 And .Offset(, 16).Value <> "" Then
Rq.Offset(, 6).Value = .Offset(, 1).Value / 100
ElseIf .Offset(, 16).Value <> 0 Then
Rq.Offset(, 7).Value = .Offset(, 1).Value / 100
Rq.Offset(, 8).Value = .Offset(, 16).Value * 10000
End If
If .Offset(, 17).Value = 0 And .Offset(, 17).Value <> "" Then
Rq.Offset(, 9).Value = .Offset(, 1).Value / 100
ElseIf .Offset(, 17).Value <> 0 Then
Rq.Offset(, 10).Value = .Offset(, 1).Value / 100
Rq.Offset(, 11).Value = .Offset(, 17).Value * 10000
End If
End With
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub