ExcelVBAでfor文を使って3つの最大公約数を求めるプログラムを書いています。Do-Loop文やWhile文などは使わずに書きたいです。下記のようなプログラム(まずは a が一番大きい時のみ考えています)で i の最大値を求めようとしたのですが、どの数字を入力しても1が表示されてしまいます。if 文の後にはどのようなコードを書けばいいのか、それとも根本的に違うのか教えていただきたいです。
よろしくお願いします。
Sub a() Dim a As Integer Dim b As Integer Dim c As Integer a = InputBox("a") b = InputBox("b") c = InputBox("c") Cells(1, 1) = a Cells(2, 1) = b Cells(3, 1) = c For i = a To 1 Step -1 If (0 = a Mod i) And (0 = b Mod i) And (0 = c Mod i) Then Cells(4, 1) = WorksheetFunction.Max(i) End If Next i End Sub

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。