- 締切済み
このプログラムの説明の解説お願いします(`´)
生年月日を入力して、自分の生まれた日の曜日を調べるプログラムです。 Sub 例1456() Dim w As Integer Dim week As Variant week = Array("日", "月", "火", "水", "木", "金", "土") hia = InputBox("「年/月/日」を入力して下さい") If IsDate(hia) Then hi = CDate(hia) hi = Format(hi, "yyyy""年""mm""月""dd""日""") Else MsgBox "「年/月/日」を入力して下さい" Exit Sub End If w = WeekDay(hi) MsgBox hi & " は " & week(w - 1) & "曜日です" End Sub 今週発表があります。構文の意味など詳しく説明しなければいけません。week(w - 1)のところなど解説いただきたいです<m(__)m>
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- bin-chan
- ベストアンサー率33% (1403/4213)
変数宣言が少ないよ。グローバルで宣言されてるならいいけど。 Option Explicit宣言する癖を付けておくと良いかも。 Sub 例1456() '//変数を定義する Dim hia As Variant '日付入力用 Dim hi As Variant '日付編集用 Dim w As Integer '曜日 Dim week As Variant '表示する曜日 '//曜日を配列として宣言・定義する[0]:日-[6]:土 week = Array("日", "月", "火", "水", "木", "金", "土") '//日付を入力させる hia = InputBox("「年/月/日」を入力して下さい") '//入力された日付が有効か、判定する If IsDate(hia) Then '//入力された日付が有効か、判定する hi = CDate(hia) hi = Format(hi, "yyyy""年""mm""月""dd""日""") Else MsgBox "「年/月/日」を入力して下さい" Exit Sub End If '//入力された年月日から曜日を取得する[1-7] w = WeekDay(hi) '//曜日配列変数は[0-6]から始まるので、取得した曜日から-1して表示する '//week をArray("", "日"・・とするとマイナス1しなくても良いが) MsgBox hi & " は " & week(w - 1) & "曜日です" '//処理終了 End Sub Sub 例1456改() '//以下、無試験 '//変数を定義する Dim hia As Variant '日付入力用 '//日付を入力させる hia = InputBox("「年/月/日」をyyyy/mm/dd形式で入力して下さい") '//入力された日付が有効か、判定する If IsDate(hia) Then '//入力された日付を編集して表示する MsgBox Format(CDate(hia), "yyyy""年""mm""月""dd""日は""aaa""曜日です""") Else MsgBox "「年/月/日」を入力して下さい" End If End Sub