Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


46099 / 76732 ←次へ | 前へ→

【35612】Re:MATCH関数について
回答  Kein  - 06/3/8(水) 15:20 -

引用なし
パスワード
   >照合の方法を-1にしても0にしても1にしても全部「#N/A」になってしまいます。
まず、検索値は A列・1行目 のどちらでもないセルに入れるか、InputBoxなどの
フォームへ入力するようにした方が良いでしょう。あと、検索の型はヘルプを
よく読むと分かりますが、1行目の並び方が昇順なら 1 を指定しなくてはならず、
その場合 B1 が 150 で最小なのに 70 を検索しようとすると"「検索値以下」の
最大値" という条件から外れてしまうのでエラーが返るのだと思われます。
よってそのような場合には、最小値 150 を検索値としたと仮定し、列番号 2 と
指定するようなコードを作ってみました。試してみて下さい。

Sub MyMatch()
  Dim SR As Single, SC As Single
  Dim x As Long, y As Long
 
  With Application
   SR = .InputBox("A列で検索する数値を入力して下さい", Type:=1)
   If SR = False Then Exit Sub
   SC = .InputBox("1行目で検索する数値を入力して下さい", Type:=1)
   If SC = False Then Exit Sub
   If SR < Range("A2").Value Then
     x = 2
   Else
     x = .Match(SR, Range("A:A"), 1)
   End If
   If SC < Range("B1").Value Then
     y = 2
   Else
     y = .Match(SC, Range("1:1"), 1)
   End If
  End With
  MsgBox Cells(x, y).Value
End Sub

4 hits

【35601】MATCH関数について ぷうたろう 06/3/8(水) 13:39 質問
【35612】Re:MATCH関数について Kein 06/3/8(水) 15:20 回答
【35620】Re:MATCH関数について ぷうたろう 06/3/8(水) 16:49 質問
【35625】Re:MATCH関数について ぷうたろう 06/3/8(水) 18:12 質問
【35626】Re:MATCH関数について Kein 06/3/8(水) 18:38 回答
【35631】Re:MATCH関数について ぷうたろう 06/3/8(水) 19:47 お礼

46099 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free