ExcelVBA・간이 계산기
8681 단어 ExcelVBA
간이 계산기 작성
사전 준비

이번 목표
코딩
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
코딩 자세한 내용은 코멘트 아웃을 확인하시기 바랍니다.
Reference
이 문제에 관하여(ExcelVBA・간이 계산기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t_gata/items/16345e0403b52e5bb544텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)