木曜日, 1月 25, 2024

Excel VBA 24 
pythonのソースをVBA記述で

pythonで作成したプログラムをVBAで記述してみました。

■今日は1円。明日は2円、明後日は4円というように翌日には2倍の金額をもらえるとき、その日にもらえる額が1000円を超える日を表示する。
' ソーススタート
Sub CheckEarnings()
Dim currentAmount As Double
Dim dayCount As Integer
' 初日の金額
currentAmount = 1
' 初日からの日数
dayCount = 1
' 1000円を超えるまでループ
Do While currentAmount <= 1000
' 翌日に2倍の金額をもらう
currentAmount = currentAmount * 2
' 日数をカウント
dayCount = dayCount + 1
' 1000円を超える場合、日数と金額を表示
If currentAmount > 1000 Then
MsgBox dayCount & "日目: " & currentAmount
                & "円", vbInformation, "結果"
End If
Loop
End Sub
' ソース終了

■入力した数値が60以上なら「合格」と表示し、60未満なら「赤点!」と表示。
' ソーススタート
Sub CheckScore()
' ユーザーに数値を入力してもらう
Dim score As Double
score = InputBox("点数を入力してください:")
' 条件に基づいてメッセージを表示
If score >= 60 Then
MsgBox "合格", vbInformation, "結果"
Else
MsgBox "赤点!", vbExclamation, "結果"
End If
End Sub
' ソース終了

■相手の名前を入力すると「●●さん、好きです!」と表示し、次に本気度(%)を入力すると、それが80より大きければ「ありがとう!」、80以下30以上なら「ごめんなさい」、30未満なら「えっ??」と表示。
' ソーススタート
Sub ShowLoveMessage()
Dim name As String
Dim seriousness As Double
' 相手の名前を入力
name = InputBox("相手の名前を入力してください:")
' メッセージを表示
MsgBox name & "さん、好きです!", vbInformation, "メッセージ"
' 本気度を入力
seriousness = InputBox("本気度を入力してください(%):")
' 本気度に基づいて追加のメッセージを表示
If seriousness > 80 Then
MsgBox "ありがとう!", vbInformation, "メッセージ"
ElseIf seriousness >= 30 Then
MsgBox "ごめんなさい", vbExclamation, "メッセージ"
Else
MsgBox "えっ??", vbCritical, "メッセージ"
End If
End Sub
' ソース終了