VBA 使えるソースコード

つたないソースコードを載せます。これは、他人の書いたソースコードを読む練習に最適です。初心者の方は、どうしたらきれいになるかなど考えながら活用してください。

基本計算編

VBA 四則演算をセルに打ち出してみよう

Sub Calc() Dim x As IntegerDim y As IntegerDim a As SingleDim b As SingleDim c As SingleDim d As Single x = InputBox("x = ")y = InputBox("y = ") a = x + yb = x - yc = x * yd = x / y Cells(1, 1).Value = aCells(2, 1).Value = bCells(3, 1).Val…

VBA 素因数の数

Sub 素因数の数()Dim N As IntegerDim p As IntegerDim I As IntegerDim a As Integer N = InputBox("n =")p = 2Do While N > 1 If N Mod p = 0 Then a = a + 1 Do While N Mod p = 0 N = N / p Loop End If p = p + 1Loop Call MsgBox(a) End Sub

VBA 素数判定(関数使用)

関数 Function IsPrime(m As Integer) As StringDim I As IntegerDim a As Integer For I = 2 To m - 1 If m Mod I = 0 Then a = 1 End IfNext I If a = 1 Then IsPrime = "素数ではない。"Else IsPrime = "素数である。"End If End Function

VBA 自動計算

Sub 計算() Dim i As IntegerDim a As Stringi = 1 Do Until Cells(i, 2).Value = 0 a = Cells(i, 2) Select Case a Case "+" Cells(i, 5).Value = Cells(i, 1).Value + Cells(i, 3).Value Case "-" Cells(i, 5).Value = Cells(i, 1).Value - Cells(i, 3).Va…

VBA 偏差値査定

Sub 偏差値査定() Dim a As LongDim b As LongDim c As LongDim d As LongDim e As Long a = InputBox("点数を入力してください")b = InputBox("平均点を入力してください")c = InputBox("標準偏差を入力してください") d = (a - b) / c e = 10 * d + 50 Cal…

VBA 完全数か判定

Sub 完全数判定() Dim a As LongDim b As StringDim c As StringDim i As LongDim s As Long a = InputBox("a = ")b = "完全数"c = "完全数ではない" For i = 1 To a - 1 If a Mod i = 0 Then s = s + i End If Next i If s = a ThenCall MsgBox(b)ElseCall …

VBA 最大公約数(ユークリッドの互除法)を出す

Sub 最大公約数() Dim a As LongDim b As LongDim c As LongDim n As LongDim m As Long a = InputBox("a = ")b = InputBox("b = ") If a > b Thenn = am = b Elsen = bm = a End If Do c = n Mod m If c = 0 Then Call MsgBox(m)Else n = m m = cEnd If Loo…

VBA 素数判定

Sub 素数判定() Dim a As LongDim b As LongDim c As LongDim d As StringDim i As Long d = "素数である"a = InputBox("a = ") For i = 2 To Int(Sqr(a)) If a Mod i = 0 Then b = 1 Exit ForEnd IfNext i If b = 1 Then Call MsgBox(i)ElseCall MsgBox(d)E…

VBA 整数の約数を出す

Sub 約数すべて() Dim a As IntegerDim b As IntegerDim c As IntegerDim i As Integer a = InputBox("a =") For i = 1 To a c = a Mod i If c = 0 ThenCall MsgBox(i)End If Next i End Sub

VBA 2つの整数の四則計算

Sub 四則計算() Dim x As IntegerDim y As IntegerDim a As SingleDim b As SingleDim c As SingleDim d As Single x = InputBox("x = ")y = InputBox("y = ") a = x + yb = x - yc = x * yd = x / y Cells(1, 1).Value = aCells(2, 1).Value = bCells(3, 1)…

VBA 1からnまでの和

Sub 総和() Dim n As IntegerDim i As IntegerDim a As Integer n = InputBox("n = ?") For i = 1 To n a = a + iNext i Call MsgBox(a)End Sub

VBA mのn乗

Sub 累乗() Dim n As IntegerDim m As IntegerDim i As IntegerDim a As IntegerDim b As Integer n = InputBox("n = ?")m = InputBox("m = ?")a = 1 For i = 1 To n a = a * mNext i Call MsgBox(a) End Sub

VBA 九九の表を作る

Sub 九九() Dim i As IntegerDim n As Integer For i = 1 To 9 For n = 1 To 9 Cells(i, n).Value = i * n Next nNext i End Sub

VBA 季節を判定しよう

Sub 季節の判定() Dim a As IntegerDim b As String a = InputBox("月") Select Case a Case 3 To 5 b = "春" Case 6 To 8 b = "夏" Case 9 To 11 b = "秋" Case 12 b = "冬" Case 1 To 2 b = "冬" Case Else b = "なし" End Select Call MsgBox(b)End Sub

VBA 二つの整数の大きさを比較する

Sub 2整数の比較() Dim a As IntegerDim b As IntegerDim c As IntegerDim d As String a = InputBox("整数を入力してください")b = InputBox("整数を入力してください")c = a + b Select Case c Case Is = 0 d = "0である"Case Is < 0 d = "0未満である"Ca…