• 締切済み

このプログラムの説明の解説お願いします(`´)

生年月日を入力して、自分の生まれた日の曜日を調べるプログラムです。 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>

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

変数宣言が少ないよ。グローバルで宣言されてるならいいけど。 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

関連するQ&A