HOME   »  スポンサー広告  »  スポンサーサイト   »  日常  »  家計簿補助マクロ

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    家計簿補助マクロ

    自分用の家計簿用のマクロを作ってみました。

    ●実行前
    実行前


    ●途中経過
    途中


    ●実行後
    実行後1


    個人的な要望で引き算にも対応
    実行後2


    機能はこれだけです。
    今までは右端に備考列があり、そこに一部の内訳しか書いてませんでした。
    一部しか書かない理由は、改行して行の高さをまばらにしたくないことと、細かく書いて文字列が長くなるのが嫌だったから。
    今後は細かく書けそうですね。
    無駄遣いのポイントが分かるかも。


    以下、ソース
    ここから

    Sub Macro3()
    '
    ' Macro3 Macro
    '
    ' Keyboard Shortcut: Ctrl+p
    '
        Dim moji As String
        Dim uchiwake As String
        Dim suuchi As Double
        Dim minusFlag As Boolean
        Dim suuchi2 As Double
        Dim nedan As Double
        
        suuchi = 0
        suuchi2 = 0
        minusFlag = False
        ActiveCell.ClearComments
        ActiveCell.AddComment
        ActiveCell.Comment.Visible = False
        ActiveCell.Comment.Text Text:=""
        
        For Count = 1 To Len(ActiveCell.Formula)
            moji = Mid(ActiveCell.Formula, Count, 1)
            If moji <> "=" Then
                
                If moji = "+" Then
                    If minusFlag = True Then
                        nedan = (suuchi2 - suuchi)
                        minusFlag = False
                    Else
                        nedan = suuchi
                    End If
                    
                    uchiwake = InputBox(nedan & "円の用途は何ですか?", "内訳確認", "")
                    ActiveCell.Comment.Text Text:=ActiveCell.Comment.Text & uchiwake & ":" & nedan
                    
                    suuchi2 = 0
                    suuchi = 0
                    nedan = 0
                    ActiveCell.Comment.Text Text:=ActiveCell.Comment.Text & vbCrLf
                ElseIf moji = "-" Then
                    minusFlag = True
                    suuchi2 = suuchi - suuchi2
                    suuchi = 0
                Else
                    suuchi = suuchi * 10 + Val(moji)
                    'ActiveCell.Comment.Text Text:=ActiveCell.Comment.Text & moji
                End If
            End If
        Next
        
        If minusFlag = True Then
            nedan = (suuchi2 - suuchi)
            minusFlag = False
        Else
            nedan = suuchi
        End If
        
        uchiwake = InputBox(nedan & "の用途は何ですか?", "内訳確認", "")
        ActiveCell.Comment.Text Text:=ActiveCell.Comment.Text & uchiwake & ":" & nedan
        
        ' コメントを表示(常時表示)
        ActiveCell.Comment.Visible = True
        ' セルを選択した上でコメントを選択
        ActiveCell.Select
        ' コメントの書式セット
        Selection.Comment.Shape.Select True
        Selection.AutoSize = True               ' AutoSize
        Selection.Font.Bold = True
        ' コメントを非表示する(ポイント持のみ表示)
        ActiveCell.Comment.Visible = False

      End Sub

    ここまで

    はっきり言って、ソースは汚いです。
    とりあえず動けば良いやで作ってたのでw
    無駄な変数や処理はありそう^^;
    スポンサーサイト
    Comment
    Comment Form
    管理者にだけ表示を許可する
    Trackback
    Trackback URL
    プロフィール

    ハンガー

    Author:ハンガー
    どうぞゆっくりしていってくださいな。

    ゲームではエロゲ、東方。
    音楽はfripSideが好きです。

    好きな女性は、星空のメモリアに出てくる夢です。

    東方は全作ノーボム程度の実力です。

    最新記事
    最新コメント
    FC2カウンター
    カテゴリ
    月別アーカイブ
    最新トラックバック
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。