質問: エクセルvbaで、 あらかじめシート2のa列に食べ物の名前、b列にカロリーが記入してあり、 シート1のj2にシート2に記入してある食べ物を入力すると、メッセージボックスで何カロリーあるのか表示されるプログラムが組みたいんですけど、 そう組んだらいいのかわからないので、教えてほしいです。
回答: わざわざ、vbaを使って、メッセージボックスで表示する必要があるの? とりあえず、vbaの勉強ということで シート1の名前のタグを 右クリック コードの表示をクリックして vbエディターを起動 private sub worksheet_change(byval target as range) if target.address = "$j$2" then msgbox worksheetfunction.vlookup(range("j2").value, sheets("sheet2").columns("a:b"), 2, true) end if end sub を貼り付けて、vbエディターを閉じる。 エクセルのvlookup関数をvbaで使用した書き方です。 エラーが起きないように、j2セルには入力規則を設定しておきましょう。