Excel VBA質問箱 IV

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

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


8141 / 13645 ツリー ←次へ | 前へ→

【34946】lookup関数 tau 06/2/16(木) 16:52 質問[未読]
【34947】Re:lookup関数 inoue 06/2/16(木) 17:00 発言[未読]
【34948】Re:lookup関数 Kein 06/2/16(木) 17:02 回答[未読]
【34965】Re:lookup関数 tau 06/2/17(金) 9:12 お礼[未読]
【34967】Re:lookup関数 Blue 06/2/17(金) 9:34 発言[未読]

【34946】lookup関数
質問  tau  - 06/2/16(木) 16:52 -

引用なし
パスワード
   (A列) (B列) (C列) (D列)
前日  1.0  本日  2.0
明日  2.1  明後日 2.2

このようなシートがあります。
ユーザーが セルに 明後日 と入力したら
2.2と表示させたい。
lookup 関数が使えると思ったのですが 動きません
よく分かりません・・教えてください

【34947】Re:lookup関数
発言  inoue E-MAILWEB  - 06/2/16(木) 17:00 -

引用なし
パスワード
   >lookup 関数が使えると思ったのですが 動きません
VBAの質問ですか?

リストを横にバラさなければ問題ないのでは?
どうしてもこのままならISNA関数と組み合わせるとか。

【34948】Re:lookup関数
回答  Kein  - 06/2/16(木) 17:02 -

引用なし
パスワード
   仮に E1 へ検索値を入力するとして

Private Sub Worksheet_Change(ByVal Target As Range)
  Set FR As Range

  With Target
   If .Address <> "$E$1" Then Exit Sub
   If .Count > 1 Then Exit Sub
   If IsEmpty(.Value) Then Exit Sub
   Set FR = Range("$A:$A, $C:$C").Find(.Value, , xlValues)
  End With
  If FR Is Nothing Then
   MsgBox "検索値は見つかりません", 48
  Else
   MsgBox FR.Offset(, 1).Value: Set FR = Nothing
  End If
End Sub

てな感じです。

【34965】Re:lookup関数
お礼  tau  - 06/2/17(金) 9:12 -

引用なし
パスワード
   ▼Kein さん:
ありがとうございました

【34967】Re:lookup関数
発言  Blue  - 06/2/17(金) 9:34 -

引用なし
パスワード
   いちいちマクロにせずとも、 inoue さんのご指導どおりワークシート関数にすれば終わりなんですけどね。

=IF(ISNA(VLOOKUP(E1,A1:B2,2,FALSE)),VLOOKUP(E1,C1:D2,2),VLOOKUP(E1,A1:B2,2))

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