セルの縦と横の比
意外に難しいのが
セルの高さと幅の変更
私はExcelでセルを使って描画する目的で
セルの高さと幅を1:1にしたいと思ったのです。
VBAヘルプでそれらしい
ColumnWidth
RowHeight
を見つけたので
次のようなコードで試す。
Sub macro100111a() |
結果は
明らかに1:1ではない。
なぜ???
単位は何?
VBAヘルプによると、
ColumnWidth プロパティ:
列幅の単位は、標準スタイルの 1 文字分の幅に相当
プロポーショナル フォントでは、
数字の 0 の幅が列幅の単位になるそうです。
RowHeight プロパティ
ポイント単位のようです。
標準スタイルの 1 文字分の幅?
プロポーショナル フォント?
そもそもポイントってどんな単位?
ちょっと?が多すぎて混乱します。
調べ物が多そうなので
まずは、終わり良ければすべて良し的
ドロクサイ手法を考えます。
手動で行の高さ・列の幅を変更する時
このようにピクセル単位が表示されます。
これを使います。
高さ・幅を100x100ピクセルにしたら
目分量的に1:1のようなので
この高さ75:幅11.88の比率を利用します。
つまり、
例えば高さをHにしたい時
幅W = 11.88 * H / 75 です。
これを利用したコードはこちら。
Sub macro100111b() |
結果:
見た目には1:1になったかと思われます。
ということで
疑問点は多数かつ
ドロクサイ手法ではありますが
まあまあ目的は達成されたかと…
| 固定リンク
この記事へのコメントは終了しました。

コメント