第6講 ファンクションプロシージャを理解しよう

第3話 ファンクションプロシージャ演習その2
8
hj
bv
を実現するプログラム例
Private Sub CommandButton1_Click()

  Dim n1 As Integer, m1 As Integer, n2 As Integer, m2 As Integer, a As Integer, b As Integer
  Range("H6,H7").Select
  Selection.ClearContents
  Cells(1, 1).Select
  n1 = Cells(5, 3)
  n2 = Cells(6, 3)
  m1 = Cells(5, 6)
  m2 = Cells(6, 6)
  If n1 = 0 Or m1 = 0 Or n2 = 0 Or m2 = 0 Then
    Cells(6, 8) = "入力欄に空欄があります。"
    Cells(7, 8) = "すべての入力欄に入力してからもう一度実行ボタンを押して下さい。"
    Exit Sub
  End If
  a = f(n1, m1)
  b = g(n2, m2)
  Cells(7, 1) = n1
  Cells(7, 3) = m1
  Cells(7, 6) = a
  Cells(8, 1) = n2
  Cells(8, 3) = m2
  Cells(8, 6) = b
  
End Sub
Function f(n As Integer, m As Integer)
  
  Dim w As Integer, i As Integer
  w = 0
  For i = n To m
    w = w + i
  Next
  f = w
  
End Function
Function g(n As Integer, m As Integer)
  
  Dim w As Integer, i As Integer
  w = 0
  For i = n To m
    w = w + i
  Next
  g = w
  
End Function

Private Sub CommandButton2_Click()
  
  Range("C5,F5,C6,F6,A7,A8,C7,C8,F7,F8,H6,H7").Select
  Selection.ClearContents
  Cells(1, 1).Select
  
End Sub
参考ダウンロード添付ファイル

次の課題です。
ファンクションプロシージャfに素数判定をさせて、
素数なら1を返し、素数でないなら0を返すことによって、
ランダムにエクセルシートに入力した整数が、
素数であるか、素数でないかを表示させるマクロを考えます。
s
d
例えば、aが素数であるかは、
2からaの平方根未満までの整数で割っていって、
割り切れるかどうかで判定できます。
尚、2以外は3以上の奇数で割り切れるかを
考えればよいことを付け加えておきます。
aの平方根の小数部分を切り捨てた整数は
Int(Sqr(a))
で求められます。Sqr(a)がaの平方根を求める式です。
そして、Int(*)は*の小数部分を切り捨てて整数にするものでしたね。
初心者には、難しい課題ですが頑張って下さい。


第2話へ 第4話へ

004

eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ第2部へ
小学生からエンジニアまでのRuby入門へ
小学生からエンジニアまでのC言語入門 基礎から応用まで
本サイトトップへ