- 締切済み
エクセルシートでハンドカーソルを使う
エクセルシートの任意セル(複数もありえる)にカーソルを持っていくと十字カーソルがハンドカーソルになるようにしたいのです。任意のセルにマクロやリンクを仕掛けるのではなくこのセルに何か仕掛けがありますよというような感じで・・・・・・どなたかお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- fumufumu_2006
- ベストアンサー率66% (163/245)
こんなのはどうでしょうか? カーソルを変えたいセルに、セルと同じサイズのイメージコントロールを配置します。 イメージのBackColorを白に、BackStyleを透明(fmBackStyleTransparent)に、BorderStyleを無し(fmBorderStyleNone)にします。 イメージのMousePointerまたはMouseIconプロパティで好みのカーソルを指定します。 ただし、いくつか問題があります。 MousePointerプロパティにはハンドカーソルがないので、MouseIconプロパティ用のイメージを用意しておく必要があります。 イメージのセルを選択するとイメージが選択されてしまうので、vbaでセルを選択する必要がします。 (イメージのセルを選択するとなぜか透明でなくなるので、それにも対応します) イメージがImage1で、C3セルの位置の場合 Private Sub Image1_Click() Image1.Visible = False Image1.Visible = True Range("C3").Select End Sub
- imogasi
- ベストアンサー率27% (4737/17070)
こんなことはエクセルの設定や操作ではできないのは自明と思います。 質問者(エクセル経験の少ない者に多い)が一般にはでないニーズ考えて、勝手なことをするのに、マクロ使うわずに、と言った勝手な注文をつけるのが割合あるが、それはやめてください。 VBAを使うならできると思います。コメント設定(手動操作やVBA)、入力規則(条件なしのエラーコメントだけ、ただし今は十分検討してないが)などもそれに近いかと思います。
お礼
fumufumu_2006さんありがとうございます。参考になりました。当方VB6ばかりやっててハンドカーソルは特に疑問に思ったことは無かったのですが、いざエクセルシートを操作してみるとA1セルのLeft,Topが0,0の座標とは気づかず、ということはエクセルのメニューアイコン表示の状態によってセル座標がスクリーン座標と違うことに遅ればせながら気が付いてしまったもので、なんと恥ずかしい・・・・ でもこのような使用の仕方ができたらいいなと思う人は結構いるのではないかと思いますが、エクセルにRange("A1").cursorがあればと思いました。