• ベストアンサー

EXCEL VLOOKUP的コメント自動表示

セルA1に部門コードを入力した際、その隣のセルに“経理部”と自動的に表示させることはVLOOKUP関数を使用すれば可能です。 今回はA1に部門コードを入力した後、そのセルorセルの文字にマウスを近づけると、コメントとして“経理部”と表示させることはできないでしょうか? そのコードがどこの部門であるのか後から見た人に知らせるための仕組みです。表示場所は画面のどこでも構わないものです。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#2です。 Sheet1のE1:F5に 1 人事 2 総務 3 管理 4 海外 5 調達 と入れ表を作って準備します。 ワークシートのイベントプロセジュアーを作るには (1)ワークシートSheet1の画面で、ALTキーを左手で押さえながら、右手でF11(ファンクションキー)を押してください。 (2)出てきたVBE画面左部のVBAProject画面のSheet1をダブルクリックしてください。 (3)右のウインドウの上部の(General)の▼ボタンをクリックして、出てくる「Worksheet」をクリックすると、一旦 Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub が右側ウインドウに出ますが、無視して、▼をクリックして「Change」を探してクリックしてください。 Private Sub Worksheet_Change(ByVal Target As Range) End Sub が出ます。この真中に回答の中身の部分をコピペして 下さい。 そしてワークシートSheet1の画面に戻り、A列セルの値を 変化させてエンタキーを押してみて下さい。

kinco
質問者

補足

imogasiさんありがとうございます 毎回、実行エラー“1004”がでて、 Target.Comment.Text Text:=Workshee~ が黄色くなります。 しかし、実際にどう直したらいいのかわからないのですが、リセット?をかけつつ、なんとか目的の動作に近づいたように思えます。ありがとうございます ただ、F1の記述を後から変えてもA列のコメント文は 不変で“人事”のままなのですが、これは仕方ないんですねきっと。

その他の回答 (3)

回答No.3

No.2のimogasiさんのコードはワークシートが書き換えられたら起動するようになってますので入力したらA列に数字を入れてみれば動くはずです。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ご希望に近いものをVBAで。 E1:F5に 1 人事 2 総務 3 管理 4 海外 5 調達 と入れ表を作ります。部コードと部名です。 Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) Application.DisplayCommentIndicator = xlCommentIndicatorOnly If Target.Column = 1 Then Target.AddComment Target.Comment.Text Text:=WorksheetFunction.VLookup(Target, Range("e1:f5"), 2, False) End If End Sub なおコメントを付けたセルにコメントをつけるとエラーになりますから、コメントの削除をしてからテストしてください。 OKWEBでの勝手な改行に気をつけて、復元してください。 VBAは一度エラーを起こすと、必ずリセットしてから、イベントを起こしてくださいね。(黄色行のままだと ずっと反応しません。

kinco
質問者

お礼

回答ありがとうございます 恐らく求めていた方法です VBAは不慣れなので、これを期に チャレンジしてみようと思います

kinco
質問者

補足

どなたか願わくば更に教えていただけないでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Application.DisplayCommentIndicator = xlCommentIndicatorOnly If Target.Column = 1 Then Target.AddComment Target.Comment.Text Text:=WorksheetFunction.VLookup(Target, Range("e1:f5"), 2, False) End If End Sub をMicrosoft Excel Objects の Sheet1(Sheet1) というところをクリックしたら 上記のマクロ文を入れるべく窓が表示されたので コピペしました その後、どうしたらいいんでしょうか? 標準モジュールの“Module*”の部分にマクロを登録した場合はそのマクロを実行するためのやりかたはなんとなくわかるのですが、Microsoft Excel Objects に組み込んだマクロを実行する方法がわからないのです これは困り度3です。 どなたか教えて下さい

  • fuyounor
  • ベストアンサー率47% (132/278)
回答No.1

そのセルにコメントをつけることで可能でしょう。 方法 カレントセルで右クリックでプルダウンメニューを出します。 コメントの挿入を選びそれに部署名を記入してOK セルに赤いタグがつきます。 マウスを近づけるとコメントが表示されます

kinco
質問者

お礼

回答ありがとうございます 参考にさせていただきます

関連するQ&A