- ベストアンサー
日足データから数値を計算し、特定の条件を満たす銘柄を表示できるか
- 質問者は、日足のデータから数値を計算し、その数値が求めている数値以上なら別のフォルダにそのフォルダ名を表示したいと考えています。
- 具体的には、A銘柄フォルダとB銘柄フォルダには、違う日足のデータがあるとされています。
- その中で、Cフォルダの中に前日の終値より当日の終値が5%上がっていた銘柄名を表示したいとしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
フォルダとデータと区別がよくわかりませんが・・・。 仮にA(銘柄ファイル)・B(銘柄ファイル)・C(表示ファイル)とし 同一フォルダ内に3つのファイルが存在するとします。 各ファイルには「Sheet1」というシートが1枚しかない状態です。 AとBファイルには質問者様が掲示されているデータが存在します。 但しデータは下に行くほど日付の新しいものとします。 Cファイルのシートモジュール内に下記をコピペするとCファイルのA2セル から下に銘柄(ファイル名?)を表示します。 もっと具体的な内容がわかれば質問者様の意図する動作になるのでしょうけ ど・・・。 あとは適当に修正すればよいとおもいますけど。 Private Sub Workbook_Open() Application.ScreenUpdating = False Dim TgR As Long Range("A2:A" & Range("A65536").End(xlUp).Row).ClearContents Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "A.xls" With Workbooks("A.xls").Sheets("Sheet1") TgR = .Range("A65536").End(xlUp).Row If .Cells(TgR, 5).Value >= .Cells(TgR - 1, 5).Value * 1.05 Then ThisWorkbook.Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1).Value = "A" End If Workbooks("A.xls").Close (False) End With Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & "B.xls" With Workbooks("B.xls").Sheets("Sheet1") TgR = .Range("A65536").End(xlUp).Row If .Cells(TgR, 5).Value >= .Cells(TgR - 1, 5).Value * 1.05 Then ThisWorkbook.Sheets("Sheet1").Range("A65536").End(xlUp).Offset(1).Value = "B" End If Workbooks("B.xls").Close (False) End With Application.ScreenUpdating = True End Sub