Excel用ミラクラス計算
目次 (Excel用ミラクラス計算)
ミラクラスのリセット時のポイント知りたいといううお方用
マクロです。コピペしたらわかりますのでまずはコピペを
Sub マクロの名前()
Dim poinnt As Long
poinnt = Application.InputBox(prompt:="今のミラクラスのポイントを入力してください(半角)", Default:="600000")
If poinnt >= 600000 Then
poinnt = poinnt - 20000
poinnt = poinnt - 570000
poinnt = poinnt * 0.3 + 570000 * 0.5 + 20000 * 0.7 + 10000
ElseIf poinnt >= 30000 Then
poinnt = poinnt - 10000
poinnt = poinnt - 20000
poinnt = poinnt * 0.5 + 20000 * 0.7 + 10000
ElseIf poinnt >= 10000 Then
poinnt = poinnt - 10000
poinnt = poinnt * 0.7 + 10000
Else
poinnt = poinnt
End If
Cells(1, 1) = poinnt
End Sub
いつまでにこのクラスへ行きたいよっていうお方向け初心者なので間違えてるかもあと計算複雑なので
Sub マクロの名前()
Dim poinnt As Long, poinnt2 As Long, d1 As Date, d2 As Date, i As Integer, class As String
poinnt = Application.InputBox(prompt:="今のミラクラスのポイントを入力してください(半角)", Default:="600000")
d1 = Application.InputBox(prompt:="始めたい日付を入力してください(半角)", Default:="2022/6/30")
class = Application.InputBox(prompt:="たどり着きたいミラクラスを入力してください(半角)", Default:="A2")
d2 = Application.InputBox(prompt:="いつまでにたどり着きたいですか?(半角)", Default:="2022/8/30")
d2 = d2 - d1
For i = 1 To d2
Cells(2, i + 1) = d1 + 1
d1 = d1 + 1
If Day(d1) = 23 Then
If poinnt >= 600000 Then
poinnt = poinnt - 20000
poinnt = poinnt - 570000
poinnt = poinnt * 0.3 + 570000 * 0.5 + 20000 * 0.7 + 10000
ElseIf poinnt >= 30000 Then
poinnt = poinnt - 10000
poinnt = poinnt - 20000
poinnt = poinnt * 0.5 + 20000 * 0.7 + 10000
ElseIf poinnt >= 10000 Then
poinnt = poinnt - 10000
poinnt = poinnt * 0.7 + 10000
Else
poinnt = poinnt
End If
Cells(3, i + 1) = poinnt + 160
Else
Cells(3, i + 1) = poinnt
poinnt = poinnt + 160
End If
Next
If class = "S" Then
poinnt2 = 600000 - poinnt
ElseIf class = "A2" Then
poinnt2 = 300000 - poinnt
ElseIf class = "A1" Then
poinnt2 = 180000 - poinnt
ElseIf class = "B4" Then
poinnt2 = 120000 - poinnt
ElseIf class = "B3" Then
poinnt2 = 80000 - poinnt
ElseIf class = "B2" Then
poinnt2 = 50000 - poinnt
ElseIf class = "B1" Then
poinnt2 = 30000 - poinnt
ElseIf class = "C2" Then
poinnt2 = 20000 - poinnt
ElseIf class = "C1" Then
poinnt2 = 10000 - poinnt
ElseIf class = "D2" Then
poinnt2 = 5000 - poinnt
ElseIf class = "D1" Then
poinnt2 = 1000 - poinnt
ElseIf class = "E" Then
Else
Cells(4, 3) = "クラスが間違ってる可能性があります"
poinnt2 = poinnt
End If
poinnt = poinnt2 / (i - 1) * (i - 1) / 30
Cells(4, 2) = "毎日必要な平均ポイント数は約" & poinnt & "ポイントです"
End Sub