FC2ブログ
    VBAで「PER取得マクロ」を作成しました
    Kapok の資産運用PCExcel VBA
    株価指標のPERをYahoo!ファイナンスから取得し、Excelシートにコピーするマクロを作成しました。ソースを公開します。


    1. 動作と仕組み


    1-1. 動作

    マクロを実行すれば、下図のように、エクセルシートにPER等の情報が一覧で取得できます。

    VBA_getPER.png
    ※クリックで拡大します。


    1-2. 仕組み

    Yahoo!ファイナンスのページから、データを取得します。
    順位・コードの文字列を検索し、それを目印に銘柄・PER等のデータをコピーします。

    VBA_getPER2.png
    ※クリックで拡大します。


    1-3. 動作保障はしません

    私のPCのExcel2010では動きましたが、動作は保障しません。


    2. ソースコード



    Sub getper()
    Dim url As String
    Dim ii As Integer
    Dim srow As Integer 'ソースの行 検索用

    Dim dst_sh As Worksheet

    '貼り付け先のシートを覚えておく
    Set dst_sh = ActiveSheet

    For ii = 1 To 58

    'URLを作り、ファイルを開く
    url = "http://info.finance.yahoo.co.jp/ranking/?kd=10&tm=d&vl=a&mk=1&p=" & ii
    Workbooks.Open Filename:=url

    '順位・コードの文字を目印に、データの行を取得
    srow = 1
    Do While (Cells(srow, 1) <> "順位") * (Cells(srow, 2) <> "コード")
    srow = srow + 1
    Loop

    'コピーする
    Range(Cells(srow + 1, 1), Cells(srow + 50, 9)).Copy

    'ペーストする
    dst_sh.Activate
    Cells((ii - 1) * 50 + 2, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

    '使ったファイルを閉じる
    Windows("info.finance.yahoo.co.jp").Activate
    Application.CutCopyMode = False
    ActiveWorkbook.Close


    Next ii
    End Sub



    3. 参考ページ


    mochiさんの記事: エクセルで株価を自動取得するVBAコードを紹介します

    で勉強させていただきました。
    少し改造していますが、基本設計はほとんど同じです。

    ①VBAマクロでwebサイトからデータを取得
    ②必要なデータを抽出

    という方法を、今まで私は知りませんでしたので、大変参考になりました。

    Excelが思っていた以上に便利だと分かりました。今後は資産運用のツールとして利用できるように、もっとExcelの勉強をしていこうと思います。




    2013.10.24 / コメント:: 2 / トラックバック:: 0 / PageTop↑

    VBAで積立複利運用シミュレーション
    Kapok の資産運用PCExcel VBA

    当ブログのアクセス解析で、「for next 文 VBA 積立 複利 計算」というキーワードを見つけました。何故VBAなのか、何故for next文なのか、は分かりませんが、面白そうなのでやってみました。

    ワークシートから値を拾って、VBAで計算し、結果をワークシートに戻すタイプのマクロです。



    ワークシート部分:
    vbatsumitate.png


    マクロ部分:

    Sub 積立複利運用()

        Dim a As Single
        Dim r As Single
        Dim n As Integer
        Dim ii As Integer
        Dim total As Double
       
           
        '数値代入
        a = Range("c3").Value
        n = Range("c4").Value
        r = Range("c5").Value
       
        total = 0
       
       
        '積み立てて複利運用
        For ii = 1 To n
            total = total + a '積立
            total = total * (1 + r)  '金利
        Next ii
       
        Range("c6").Value = total
       

    End Sub




    答えだけであれば、等比数列の和の公式で出てしまいますが、マクロに書いてみてもおもしろい問題だと思いました。

    論理としてはマクロの方が、数列の和として計算するよりも、随分とシンプルで分かりやすいですね。何せ「積み立てる」と「利金を受け取る」の繰り返しだけですから。


    2013.07.15 / コメント:: 0 / トラックバック:: 0 / PageTop↑

    Excel2010マクロ/条件合致セルの色替え
    Kapok の資産運用PCExcel VBA
    このようなテスト得点のデータを処理。

    Excel_pic1.png



    落第点のセルを赤く表示するには


    Sub 落第点表示()
        Dim i As Integer
        Dim j As Integer
        Dim thre As Double
       
        thre = 50
       
        For i = 3 To 7
            For j = 3 To 5
                If (Cells(i, j).Value < thre) Then
                    Cells(i, j).Select
                    With Selection.Interior
                        .Color = 255
                    End With
                End If
            Next j
        Next i
       
        MsgBox "生徒得点のうち" & thre & "点以下を赤で示しました."
    End Sub



    Sub 色分け初期化()
        Range("C3 : E7").Select
        With Selection.Interior
            .Color = RGB(255, 235, 255)
            End With
    End Sub


    2010.09.19 / コメント:: 0 / トラックバック:: 0 / PageTop↑

    Excel2007 マクロ - 1
    Kapok の資産運用PCExcel VBA
    マクロ実行ボタンの作成

    1. まず、オプションボタンの追加が必要になる。
      1. Microsoft Office ボタンをクリックし、Excel のオプションをクリック
      2. ユーザー設定→コマンドの選択ですべてのコマンドを選択
      3. オプションボタン(フォームコントロール)を選択、追加
    2. オプションボタン(フォームコントロール)をクリック
    3. ボタンの輪郭を作成
    4. 作成したボタンを右クリックし、マクロの登録からボタンで実行させたいマクロを選択



    セルの値の消去

    以下のマクロはe3,e4,e5,e6のセルの値を消去する。

    Sub delcell()

    '範囲を選択
    Range("e3:e6").Select


    '選択した部分を消去
    Selection.ClearContents

    End Sub


    セルに値を代入

    以下のマクロはe3?e6にそれぞれc3からc6までの値の10倍を代入する。
    Rはrow(行),Cはcolumn(列)の頭文字だと思われる。

    Sub fillcell()

    '範囲を選択
    Range("e3:e6").Select

    '2列左のセルの値の10倍を代入
    Selection.FormulaR1C1 = "=r[0]c[-2]*10" '

    End Sub


    コメントアウト

    書き忘れていたが、
    ' ←これで右の部分がコメントアウトできる。
    2010.05.05 / コメント:: 0 / トラックバック:: 0 / PageTop↑

    Excel2007 マクロ - はじめに
    Kapok の資産運用PCExcel VBA
    管理人のモチベーション

    就職してExcelを使う機会が増えた。
    面倒な打ち込みが多すぎて閉口。
    Excelマクロを勉強すれば作業が楽になるかなと思い勉強を始めてみた。
    以下のコンテンツはその勉強の覚え書。

    なお、私は今までVBAを触ったことがない。


    マクロの実行

    1. Excelを立ち上げ
    2. 「表示」の「マクロ」をクリック
    3. マクロ名(例 hello)を入力し「作成」をクリック
    4. Sub hello()
      MsgBox "hello!"
      End Sub
      などを入力
    5. f5で実行


    これは窓を作ってメッセージを表示するマクロとなる。


    ファイルの保存と開き方

    1. Excel マクロ有効ブックとして保存する。
    2. 開いた時、マクロが無効化されるので、オプション→このコンテンツを有効にする をする。


    基本的な構文

    Sub func1()

    '変数の宣言
    Dim i As Integer
    Dim j As Double

    ' for文
    For i = 1 To 3
    MsgBox "i=" & i
    Next i

    ' if文
    If 2 + 1 = 3 Then
    MsgBox "2+1=3"
    End If
    If 2 + 1 = 4 Then
    MsgBox "2+1=4"
    End If

    ' while文
    j = 2
    While j < 10
    MsgBox "j=" & j
    j = j + 2.9
    Wend

    End Sub


    中断モード

    構文を間違えた後、構文を直しても「中断モードでコードを実行することはできない」と言われることがある。こんな時は「実行」の「リセット」をクリック。

    2010.04.29 / コメント:: 0 / トラックバック:: 0 / PageTop↑




    Pagetop↑
    ブログ内検索
    プロフィール

    Kapok

    Author:Kapok


    個人投資家。1986年生まれのサラリーマンです。将来、資産運用で財産を築き、自由に暮らす事を夢見ています。

    ブログについて
    「資産運用について調べた事・考えたこと」をブログのメイン記事にしています。

    記事の情報の正確さには注意を払っていますが、保証はしません。投資判断は自己責任でお願いします。

    Kapok
    資産運用の方針
    資産運用は、下記の規定の範囲内で行っています。私Kapokが、どのような個人投資家であるかがよく分かるファイルになっています。

    Kapok の資産運用規定

    最近の記事・コメント

    アクセスカウンター
    ↑ポインタを合わせると、1週間のアクセス数推移が確認できます。

    Since Mar.17/2011
    Twitter
    おすすめ書籍
    ウォール街のランダム・ウォーカー 株式投資の不滅の真理
    Kapokの投資哲学に大きな影響を与えた1冊。個人投資家必読の書。

    スポンサー
    相互リンク
    資産運用全般

    株式個別銘柄投資 etc.

    投資信託 etc.

    債券・預貯金

    FX・派生商品 etc.

    その他 有価証券

    資産運用以外