• ベストアンサー

VBAでオブジェクトを小数点で位置指定する方法

VBAでオブジェクトの位置を小数点で指定することはできますか?

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

フォーム上のオブジェクト等の位置の話であれば、 VBAで指定する場合は1twipが基本(最小)単位。  1cm=567twip 1inch=1440twip プロパティなどから入れる場合は近似のcmに変換されるようです。 なので、cmが単位の場合は小数点以下(3位まで?)は入りますが、すべての小数点3位までの数値が入力できるわけでは有りません。

fruu
質問者

補足

回答ありがとうございます Dim h As Double として h = Range("K" & i).Value With ActiveSheet.Shapes(2) .Height = h End With という感じでK行のK1,K2,K3と順番にhに代入してオブジェクトのサイズを指定しているのですが,K1に 10.123456 と入っていた場合は,10twip のHeightにしかならないのでしょうか?

その他の回答 (2)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.3

よくわかんないけど、 モニタの解像度の問題から、小数点以下を設定することには意味が感じられない。 (1twip = およそ1/20ピクセル)

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

何をしたいのか(目的・ニーズ)、何を・どういうこと(コード)をしていて困ったのか書いたら。 質問が抽象的過ぎる。位置指定の変数の型は、マクロの記録ではDouble(#付き)だったかな。

fruu
質問者

補足

 失礼しました.  エクセルを用いて,オブジェクトを動かす動画を作成しています.timer関数を用いて1秒ごとにサイズを指定する動きをキャプチャーすることで動画にしているのですが,キャプチャーしているものを64倍速にしてみてみると,動きがすこしぶれてるようにみえるのです.そこでオブジェクトの位置のデータを小数点で指定してみたのですが,どうも小数点のところが使われていないみたいなのです.  変数はDim h As Double で宣言しています.

関連するQ&A