VBAで「比率計算・文字色・背景色」を表示する

目安時間:約 4分

今回は、比率の計算と、計算結果にて、文字の色、背景色を付けるようにしました。
【課題】
・昨年比欄 背景青、白文字 : 105%以上
・昨年比欄 青文字 : 100%以上、105%未満
・昨年比欄 黒文字 : 95%以上、100%未満
・昨年比欄 赤文字 : 90%以上、95%未満
・昨年比欄 背景赤、黒文字 : 90%未満
・前年売上差欄 今年売上 - 昨年売上

【VBA】

Sub 比率計算()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).row
        Cells(i, 5) = Cells(i, 3) / Cells(i, 2)
        Cells(i, 4) = Cells(i, 3) - Cells(i, 2)
        Select Case Cells(i, 5)
            Case Is >= 1.05
                Cells(i, 5).Interior.Color = vbBlue
                Cells(i, 5).Font.Color = vbWhite
            Case Is >= 1
                Cells(i, 5).Font.Color = vbBlue
            Case Is >= 0.95
                Cells(i, 5).Font.Color = vbBlack
            Case Is >= 0.9
                Cells(i, 5).Font.Color = vbRed
            Case Else
                Cells(i, 5).Interior.Color = vbRed
                Cells(i, 5).Font.Color = vbBlack
        End Select
    Next
End Sub


簡単な説明
・「Cells(Rows.Count, 1).End(xlUp).row」は以前説明をしたのでこちらを御覧ください
・「Select Case Cells(i, 5)」は、IF〜ElseIf〜End文のようなものです。
・「Interior.Color」は、セルに塗りつぶしの色を設定する
・「Font.Color 」は、文字の色を設定する
・「vbBlue」等は、色指定です
ちなみに、「vbBlue」「vbWhite」「vbBlack」「vbRed」は何色?


あなたのお役に立てるなら、コピーして使用してください。

今後も勉強した内容を記載して行きますので、お役に立てるものがあれば使ってください。

VBA開発もしておりますので開発のご要望があればご連絡をください。

VBA開発依頼受付はこちらから

プログラミング依頼

目安時間:約 1分

    VBAで「表示形式」を変更する

    目安時間:約 4分

    今回の表示形式の変更は、「日付」「金額」です。
    その他にも、日付の分解をし、表示するやり方についてお伝えします。
    【課題】
    ・金額を計算して、D列に入れて下さい。
    ・A列の日付を、yyyy/mm/dd形式にしてください。
    ・D列の金額を、カンマ編集にして下さい。
    ・A列の年月日を分解して、B列から列挿入しB列、C列、D列に年月日を追加する
    ・タイトルも列にも「年」「月」「日」を追加する

    【VBA】

    Sub Dispconv()
        Dim i As Long
        Dim row As Long
        Cells(1, 5) = " 年"
        Cells(1, 6) = " 月"
        Cells(1, 7) = " 日"
        row = Cells(Rows.Count, 1).End(xlUp).row
        '日付を、yyyy/mm/dd形式
        Columns(1).NumberFormatLocal = "yyyy/mm/dd"
        For i = 2 To row
            Cells(i, 4) = Cells(i, 2) * Cells(i, 3)
            Cells(i, 5) = Year(Cells(i, 1))
            Cells(i, 6) = Month(Cells(i, 1))
            Cells(i, 7) = Day(Cells(i, 1))
        Next
        '金額を、カンマ編集
        Columns(4).NumberFormatLocal = "#,##0"
         'セル範囲の外枠に罫線を引く
        Range(Cells(1, 5), Cells(row, 7)).BorderAround LineStyle:=xlContinuous
        'セル範囲に格子状に罫線を引く
        Range(Cells(1, 5), Cells(row, 7)).Borders.LineStyle = xlContinuous
    End Sub
    


    簡単な説明
    ・「Columns(1).NumberFormatLocal = "yyyy/mm/dd"」は日付列の表示形式を変更
    ・「Cells(i, 4) = Cells(i, 2) * Cells(i, 3)」は、金額を計算
    ・「Cells(i, 5) = Year(Cells(i, 1))」日付を分解して「年」を表示
    ・「Cells(i, 6) = Month(Cells(i, 1))」日付を分解して「月」を表示
    ・「Cells(i, 7) = Day(Cells(i, 1))」日付を分解して「日」を表示
    ・「Columns(4).NumberFormatLocal = "#,##0"」計算した金額に、カンマを追加する表示変更
    ・「Range(Cells(1, 5), Cells(row, 7)).BorderAround LineStyle:=xlContinuous」は、セル範囲の外枠に罫線を引く
    ・「Range(Cells(1, 5), Cells(row, 7)).Borders.LineStyle = xlContinuous」は、セル範囲に格子状に罫線を引く

    あなたのお役に立てるなら、コピーして使用してください。

    今後も勉強した内容を記載して行きますので、お役に立てるものがあれば使ってください。

    VBA開発もしておりますので開発のご要望があればご連絡をください。

    VBA開発依頼受付はこちらから

    プロフィール


    50歳、派遣社員。いつもいつも派遣切りにビクビクしながら生きています。50歳になった途端、次の就職先が中々見つからないので、嫌なことでも断らず進んで行っています。一家の大黒柱は辛いです。万が一、首になっても何とか暮らせるように、副業を始めました。このブログは、副業を行うために学習した情報を公開しております。子供が私立の中学校に行っているので学費も稼がなければ・・・

    この情報が少しでもあなたにお役に立てばと思います。

    お問い合わせ
    プログラミング依頼

    最近の投稿
    アーカイブ

    ページの先頭へ