第15講 データの並び換え
第4話 最小値と最大値探索マクロ例
を実現するプログラム例
Private Sub CommandButton1_Click()
CommandButton2_Click
Dim a(200) As Integer
Call f(a()) 'データ発生
Call h(a()) 'データ表示
Call g(a()) '最小値と最大値の探索と表示
End Sub
Sub f(a() As Integer)
Dim i As Integer
For i = 0 To 4
a(i) = Int(10 * Rnd)
Next
End Sub
Sub g(a() As Integer)
Dim i As Integer, min As Integer, max As Integer
max = 0
min = 10
For i = 0 To 4
If min > a(i) Then min = a(i)
Next
Cells(5, 1) = "最小値は"
Cells(5, 2) = min
For i = 0 To 4
If max < a(i) Then max = a(i)
Next
Cells(5, 3) = "最大値は"
Cells(5, 4) = max
End Sub
Sub h(a() As Integer)
Dim i As Integer
For i = 0 To 4
Cells(4, 1 + i) = a(i)
Next
End Sub
Private Sub CommandButton2_Click()
Rows("4:20000").Select
Selection.ClearContents
Cells(1, 1).Select
End Sub
参考ダウンロード添付ファイル
いよいよ本番です。
参考ダウンロード添付ファイル2
Private Sub CommandButton1_Click()
CommandButton2_Click
Dim a(200) As Integer, b(200) As Integer, c(200) As Integer
Call f(a(), b(), c()) 'データ発生
Call h(b(), 4) 'データ表示
Call g1(b()) '昇順並び換え
Call h(b(), 5) 'データ表示
Call g2(c()) '昇順並び換え
Call h(c(), 6) 'データ表示
End Sub
Sub f(a() As Integer, b() As Integer, c() As Integer)
Dim i As Integer
For i = 0 To 4
a(i) = Int(10 * Rnd)
b(i) = a(i)
c(i) = a(i)
Next
End Sub
Sub g1(a() As Integer) '配列名はb()である必要はない!
End Sub
Sub g2(a() As Integer) '配列名はc()である必要はない!
End Sub
Sub h(a() As Integer, n As Integer)
Dim i As Integer
For i = 0 To 4
Cells(n, 1 + i) = a(i)
Next
End Sub
Private Sub CommandButton2_Click()
Rows("4:20000").Select
Selection.ClearContents
Cells(1, 1).Select
End Sub
空白部分を埋めて、
データを昇順と降順に並び換えるマクロ
を作って下さい。
配列を3つ用意したのは、
元のデータは残しておきたいからです。
発生データは2桁の整数にして下さい。
1桁だとダブル場合が多いからです。
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 入門へ
小学生からエンジニアまでのRuby入門へ
本サイトトップへ