Dim ans As Double
Dim add, subtra, mul, div As Boolean '演算子押下時にフラグをflagとして使用
Dim flag As Boolean '新規入力フラグ
'0押下時
Sub b0_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "0"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "0"
flag = False
End If
End Sub
'1押下時
Sub b1_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "1"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "1"
flag = False
End If
End Sub
'2押下時
Sub b2_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "2"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "2"
flag = False
End If
End Sub
'3押下時
Sub b3_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "3"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "3"
flag = False
End If
End Sub
'4押下時
Sub b4_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "1"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "1"
flag = False
End If
End Sub
'5押下時
Sub b5_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "5"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "5"
flag = False
End If
End Sub
'6押下時
Sub b6_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "6"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "6"
flag = False
End If
End Sub
'7押下時
Sub b7_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "7"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "7"
flag = False
End If
End Sub
'8押下時
Sub b8_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "8"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "8"
flag = False
End If
End Sub
'9押下時
Sub b9_Click()
'新規入力フラグがfalseだった場合
If flag = False Then
'出力欄が"0"以外の時
If Range("D4") <> "0" Then
'表示する文字数を制限
If Len(Range("D4")) < 12 Then
Range("D4") = Range("D4") & "9"
End If
End If
'新規入力フラグがtrueの時だった場合
Else
Range("D4") = "9"
flag = False
End If
End Sub
'AC押下時
Sub AC_Click()
div = False
mul = False
subtra = False
add = False
ans = 0
flag = True
Range("D4") = "0"
End Sub
'C押下時
Sub C_Click()
If flag = False Then
Range("D4") = "0"
flag = True
End If
End Sub
Sub answer()
If flag = False Then
If div = True Then
ans = ans / Range("D4")
ElseIf mul = True Then
ans = ans * Range("D4")
ElseIf subtra = True Then
ans = ans - Range("D4")
ElseIf add = True Then
ans = ans + Range("D4")
Else
ans = Range("D4")
End If
Range("D4") = ans
flag = True
End If
div = False
mul = False
subtra = False
add = False
Range("D4") = ans
End Sub
Sub addition()
If flag = False Then
If div = True Then
ans = ans / Range("D4")
ElseIf mul = True Then
ans = ans * Range("D4")
ElseIf subtra = True Then
ans = ans - Range("D4")
ElseIf add = True Then
ans = ans + Range("D4")
Else
ans = Range("D4")
End If
Range("D4") = ans
flag = True
End If
div = False
mul = False
subtra = False
add = True
End Sub
Sub subtraction()
If flag = False Then
If div = True Then
ans = ans / Range("D4")
ElseIf mul = True Then
ans = ans * Range("D4")
ElseIf subtra = True Then
ans = ans - Range("D4")
ElseIf add = True Then
ans = ans + Range("D4")
Else
ans = Range("D4")
End If
Range("D4") = ans
flag = True
End If
div = False
mul = False
subtra = True
add = False
End Sub
Sub multiplication()
If flag = False Then
If div = True Then
ans = ans / Range("D4")
ElseIf mul = True Then
ans = ans * Range("D4")
ElseIf subtra = True Then
ans = ans - Range("D4")
ElseIf add = True Then
ans = ans + Range("D4")
Else
ans = Range("D4")
End If
Range("D4") = ans
flag = True
End If
div = False
mul = True
subtra = False
add = False
End Sub
Sub division()
If flag = False Then
If div = True Then
ans = ans / Range("D4")
ElseIf mul = True Then
ans = ans * Range("D4")
ElseIf subtra = True Then
ans = ans - Range("D4")
ElseIf add = True Then
ans = ans + Range("D4")
Else
ans = Range("D4")
End If
Range("D4") = ans
flag = True
End If
div = True
mul = False
subtra = False
add = False
End Sub