Post-Admin:
Date: 2006年 11月 06日
Subject: Rows.Autofit
Columns.AutoFitは指定したセルの幅のみを見て幅を変更するが、Rows.Autofitは指定したセルだけでなく行全体の高さを見て高さを変更するようである。

Sub check()
Range("b2").Value = "1"
Range("b3").Value = "1234567890"
Range("c2").Value = "a" & vbLf & "b"
Range("b2").Columns.AutoFit
Range("b2").Rows.AutoFit
End Sub

そこで指定したセルの高さのみを見て変更するのに近い動作をするコードを使用している。




Sub RowsAutofitFor(ByVal Target As Range)
Dim orgOrientation
Dim orgColumnWidth
Dim tmp
orgOrientation = Target.Orientation
orgColumnWidth = Target.ColumnWidth
Select Case orgOrientation
Case xlDownward
Target.Orientation = 0
Case xlHorizontal
Target.Orientation = 90
Case xlUpward
Target.Orientation = 0
Case xlVertical
Target.Orientation = 0
Case Else
tmp = Target.Orientation
tmp = tmp + 90
If tmp > 90 Then tmp = tmp - 180
Target.Orientation = tmp
End Select
Target.Columns.AutoFit
Target.RowHeight = Target.Width
Target.Orientation = orgOrientation
Target.ColumnWidth = orgColumnWidth
End Sub

Sub check2()
Range("b2").Value = "1"
Range("b3").Value = "1234567890"
Range("c2").Value = "a" & vbLf & "b"
RowsAutofitFor Range("b2")
Range("b2").Columns.AutoFit
End Sub

[PR]
by noaccess | 2006-11-06 10:55 | メモ


Profile:
ほんとうかなあ?
by noaccess
プロフィールを見る
画像一覧

Calender:
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

*: 検索




*: 最新のトラックバック
うげ!
from ぶろぐ、ぶろぐとき、ぶろげば..
えーと
from ぶろぐ、ぶろぐとき、ぶろげば..
あれ
from ぶろぐ、ぶろぐとき、ぶろげば..

*: メモ帳
ぎゃふん状態にある


*: ブログジャンル
つぶやき

*: 画像一覧