日計入力の画面とプログラム紹介


イメージ

イメージ

  1. Option Explicit
  2. Dim Yobi(7) As String
  3. Dim Column As String
  4. Dim ColW As String
  5. Private Sub UserForm_Initialize() '初期画面の設定
  6. Yobi(1) = "月曜日"
  7. Yobi(2) = "火曜日"
  8. Yobi(3) = "水曜日"
  9. Yobi(4) = "木曜日"
  10. Yobi(5) = "金曜日"
  11. Yobi(6) = "土曜日"
  12. Yobi(7) = "日曜日"
  13. Call ClearGamen
  14. End Sub
  15. Private Sub ClearGamen() '画面のクリア
  16. Dim i As Integer
  17. tbTuki = ""
  18. tbHi = ""
  19. lblKinGokei = ""
  20. lblKinGokei.Visible = False
  21. lblGokei.Visible = False
  22. cmdOK.Visible = False
  23. For i = 1 To 50
  24. Me("tbKin" & i) = ""
  25. Me("tbKin" & i).Visible = False
  26. Next i
  27. End Sub
  28. Private Sub DispGamen() '金額画面の表示
  29. Dim i As Integer
  30. tbTuki.Enabled = False
  31. tbHi.Enabled = False
  32. lblKinGokei.Visible = True
  33. lblGokei.Visible = True
  34. cmdOK.Visible = True
  35. For i = 1 To 50
  36. Me("tbKin" & i).Visible = True
  37. Next i
  38. End Sub
  39. Private Sub cmdCancel_Click() 'キャンセルボタンがクリックされた時
  40. Unload Me
  41. End Sub
  42. Private Sub cmdOK_Click() 'OKボタンがクリックされた時
  43. Call 合計計算
  44. Range(Column & tbHi.Text) = lblKinGokei.Caption
  45. Unload Me
  46. End Sub
  47. Private Sub tbTuki_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが月のコントロールを出た時
  48. If tbTuki = "" Then Exit Sub
  49. If tbTuki < 1 Or 12 < tbTuki Then
  50. MsgBox "月が間違っています"
  51. Cancel = True
  52. End If
  53. End Sub
  54. Private Sub tbHi_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが日のコントロールを出た時
  55. Dim chkDate As String
  56. Dim chkYYYY As Integer
  57. If tbHi = "" Then Exit Sub
  58. If tbHi < 1 Or 31 < tbHi Then
  59. MsgBox "日が間違っています"
  60. Cancel = True
  61. Exit Sub
  62. Else
  63. chkYYYY = Year(Date)
  64. If Month(Date) < tbTuki Then
  65. chkYYYY = chkYYYY - 1
  66. End If
  67. chkDate = chkYYYY & "/" & tbTuki & "/" & tbHi
  68. If Not IsDate(chkDate) Then
  69. MsgBox "日付が間違っています"
  70. Cancel = True
  71. Exit Sub
  72. End If
  73. End If
  74. lblYobi.Caption = Yobi(Weekday(chkDate))
  75. Call DispGamen
  76. Select Case tbTuki.Text
  77. Case 1: Sheets("1〜4月").Select: Column = "B"
  78. Case 2: Sheets("1〜4月").Select: Column = "D"
  79. Case 3: Sheets("1〜4月").Select: Column = "F"
  80. Case 4: Sheets("1〜4月").Select: Column = "H"
  81. Case 5: Sheets("5〜8月").Select: Column = "B"
  82. Case 6: Sheets("5〜8月").Select: Column = "D"
  83. Case 7: Sheets("5〜8月").Select: Column = "F"
  84. Case 8: Sheets("5〜8月").Select: Column = "H"
  85. Case 9: Sheets("9〜12月").Select: Column = "B"
  86. Case 10: Sheets("9〜12月").Select: Column = "D"
  87. Case 11: Sheets("9〜12月").Select: Column = "F"
  88. Case 12: Sheets("9〜12月").Select: Column = "H"
  89. End Select
  90. If Val(Range(Column & tbHi.Text)) <> 0 Then
  91. tbKin1 = Range(Column & tbHi.Text)
  92. lblKinGokei = Range(Column & tbHi.Text)
  93. tbKin2.SetFocus
  94. Else
  95. tbKin1 = ""
  96. tbKin1.SetFocus
  97. End If
  98. End Sub
  99. Private Sub tbKin1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが金額1のコントロールを出た時
  100. Call 合計計算
  101. End Sub
  102. Private Sub tbKin2_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが金額2のコントロールを出た時
  103. Call 合計計算
  104. End Sub
  105. Private Sub tbKin3_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが金額3のコントロールを出た時
  106. Call 合計計算
  107. End Sub
  108. Private Sub tbKin4_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが金額4のコントロールを出た時
  109. Call 合計計算
  110. End Sub
  111. Private Sub tbKin5_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'カーソルが金額5のコントロールを出た時(以下、略)
  112. Call 合計計算
  113. End Sub
    以下、金額のコントロールを出た時の同じ処理が、金額50まで続く。
  114. Private Sub 合計計算() '入力された金額の合計を計算する
  115. Dim i As Integer
  116. Dim Gokei As Long
  117. Gokei = 0
  118. For i = 1 To 50
  119. Gokei = Gokei + Val(Me("tbKin" & i).Text)
  120. Next i
  121. lblKinGokei.Caption = Format(Gokei, "##,###,###")
  122. End Sub


戻る



Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!