プログラミング依頼

目安時間:約 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開発依頼受付はこちらから

VBAで「メッセージボックス(MsgBox)」を表示する

目安時間:約 3分

前回の「変数を使って合計を計算」のプログラミングにメッセージボックス(MsgBox)を追加して見ましょう。
メッセージボックス(MsgBox)はマクロ終了等で、ユーザーに知らせる時に使ったりします。
【課題】
・数量 * 単価を計算して、金額列に設定
・金額の合計と平均を計算し、メッセージボックス(MsgBox)に表示

【VBA】
ボタンを追加してVBAが実施出来るようにしました。

Sub messagebox()
Dim i As Long
Dim lngTotal As Long
Dim lngCnt As Long
lngTotal = 0
lngCnt = 0
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    Cells(i, 4) = Cells(i, 2) * Cells(i, 3)
    lngTotal = lngTotal + Cells(i, 4)
    lngCnt = lngCnt + 1
Next
MsgBox "金額合計:" & lngTotal & vbLf & _
"金額平均:" & lngTotal / lngCnt, _
vbOKOnly, " 計算結果"
End Sub


簡単な説明
・「Dim i As Long」「Dim lngTotal As Long」「Dim lngCnt As Long」が変数です
・「Cells(Rows.Count, 1).End(xlUp).Row」は以前説明をしたのでこちらを御覧ください
・「Cells(i, 4) = Cells(i, 2) * Cells(i, 3)」は、金額の計算
・「lngTotal = lngTotal + Cells(i, 4)」は、各行の金額を足す
・「lngCnt = lngCnt + 1」は、金額平均を求めるためのカウント

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

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

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

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

プロフィール

50歳、派遣社員。いつもいつも派遣切りにビクビクしながら生きています。50歳という大台を迎えると派遣先がほとんどなく、次の派遣先は無いに等しい。でも、家庭を支えなければならない。だから私は、複数の仕事が出来るように在宅ワークが出来るプログラミング、ブログを選択。50歳からフリーランスを目指してプログラミング、ブログを始めました。

私と一緒に始めませんか?

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

 

最近の投稿
アーカイブ

ページの先頭へ