匿名質問者

vbaで指定範囲の最小値を探し、最小値が入ったセルの行番号を取得する方法を教えてください。


WorksheetFunction.min(Range(Cells(i, 1), Cells(i +10, 1)))
これで最小値が取れるとこまで来たのですが、
このセルの行番号を取得するにはどうしたらいいですか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/01/10 14:13:34

ベストアンサー

匿名回答2号 No.1

匿名質問者

ありがとうございます。MATCH関数を利用して、やりたいことがやれました。

2013/01/10 14:13:22

その他の回答1件)

匿名回答2号 No.1

ここでベストアンサー

匿名質問者

ありがとうございます。MATCH関数を利用して、やりたいことがやれました。

2013/01/10 14:13:22
匿名回答1号 No.2

For i = 0 To 5
   
    min = WorksheetFunction.min(Range(Cells(i * 5 + 1, 1), Cells(i * 5 + 4, 1)))
    
    m = i * 5 + 1
    For k = i * 5 + 1 To i * 5 + 4
        If Cells(k, 1) = min Then
            m = k
            Exit For
        End If
    Next k
    
    Cells(i * 5 + 1, 2).Formula = "= 100-G" & CLng(m)
Next i  'その次の5セルの固まりへ…(6-10行)
匿名質問者

おお、あの方だったんですね!丁寧にありがとうございます。
今後の事を考えると、セルの行番号取った方がいいのかなと思って、
別として質問させて頂いておりました。
2号さんに教えてもらったMATCH関数でやりたいことがやれましたので、
問題はないですが、更にこういう書き方もあるんだと、
本当に勉強になります。ありがとうございます!!!!!!!

2013/01/10 14:12:33
  • 匿名回答1号
    匿名回答1号 2013/01/10 10:46:43
    最小値が 複数あった場合は、どうするんですか?

    最小値が見つかったら、その範囲内を 順番にみて 位置を見つければいいです。
  • 匿名質問者
    匿名質問者 2013/01/10 11:06:39
    最小値が複数あった場合は、どれか(その中で一番上に来ているもの)、等でいいです。
    で、その位置を見つけるためのコード(位置を取得するコード)がわかりません。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません