[[20121122162906]] 『座標値からセル位置(番地)を指定するには』(たろう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『座標値からセル位置(番地)を指定するには』(たろう)

 excel VBA  で  ワークシート上の座標点(セル番地で無い)数値(X,Y)を取得できた
時に,その点のセル番号(i,j) i:行番号, j:列番号  を知るにはどうしたらいいのでしょうか。
 計算式   その,xy座標のセルを選択したいのですが。


 その座標とは、何者?
 ドキュメント座標(ポイント値)あるいはスクリーン座標(ピクセル値 ないしはポイント値)?
 もし、スクリーン座標のピクセル値座標が取得できているなら、その座標をActiveWindow.RangeFromPointに与えると
 その場所にあるオブジェクトの取得ができる。それがセルならセルオブジェクト。
 その場所にシェープ等があれば、セルではなくシェープになるけど。
 その場合は、TopLeftCellあたりから、推測するかな?

 ポイント値によるドキュメント座標であれば、スクリーン座標への変換にちょっと骨がおれるけど、枠固定されたシート以外では
 なんとかなるかな?

 (ぶらっと)

 追伸

 もし、座標なるものがポイント値によるどきゅめんと座標なら、簡便法として以下もあるかな?

 1.時間はかかるけど、シート上のセルを総なめにして、指定座標を内部領域に持つセルを見つける。
 2.さらに、もし、セル幅や行の高さが標準のまま変更されていないシ[トであれば、単純計算で一発で求めることができるね。

 (ぶらっと)

ワークシートに写真が貼り付けてあって,その写真のところ(左上あたりのセル)を選択したいというだけのことなのですが。
  写真の座標はtop,leftプロパティで取得できていますので,そこからセルに換算したいのですが?
 (たろう)

 じゃ、ドキュメント座標だね。

 いずれにしても写真(シェープ)がわかっているんだから、そのTopやLeftの数値からどうこうといった
 ことは一切必要ないよ。

 Sub test()
    MsgBox ActiveSheet.Shapes("写真の名前").TopLeftCell.Address(False, False)
 End Sub

 (ぶらっと)

 (ぶらっと)さん   できました。ありがとうございました。

(たろう)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.