GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

最小値のセルを塗りつぶすマクロの作り方

2009-12-17 11:51:30 | マクロ作成のコツ

ここで、最小値を求めるプログラムの処理手順というのをまとめてみますと


(1) まず、最初のデータを初期値として最小値を入れる変数に代入する。

  Range("D3").Select
  s = ActiveCell.Value

(2) 次のデータのあるセルに移動して、そのセルのデータを取得する。

  ActiveCell.Offset(0, 2).Activate
  a = ActiveCell.Value

(3) 今現在の最小値と次のデータ(2)の大小を比較して(2)の方が小さかったら
  最小値(変数 s )の中身を(2)のデータに入れ替える。

  If a < s Then
    s = a
  End If

(4) 上記の(2)と(3)を、データ数 -1 回繰り返す。

  For i = 1 To 3
    ・
    ・
    ・
  Next i


と、このようになります。

もし、最小値でなく最大値を求めたいという場合には、上記(3)のIF文の符号
を反対にして、

If a < s Then  ← 最小値を求める場合
If a > s Then  ← 最大値を求める場合

としてあげればよいだけです。(その他に変更が必要な箇所はありません。)

それで、最初に今回はより応用が利くようにセル関数を使わずにプログラムを
組む。と言いましたが、このIF文の条件を色々と工夫して、例えば

If a < s And a > 100 Then

などとすれば、「いくら最安値であっても100円以下の野菜は(ちょっと安すぎ
て怪しいので)仕入れない。」などという特殊な条件も簡単に付加することが
できるという具合です。



無料メルマガの登録は、▼こちらから▼ 

       「Go! Go! エクセルマクロをはじめよう!」


コメント    この記事についてブログを書く
« 5年半の継続記録が途切れて・... | トップ | 秋田県の新成人が・・・ »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

マクロ作成のコツ」カテゴリの最新記事