Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
Re:Rows.AutoFitについて の富山の初心者さんへ
投稿日時: 20/05/18 13:17:26
投稿者: mattuwan44

Sub test()
    With ActiveSheet.Range("B2:C3")
        .EntireColumn.AutoFit
        .EntireRow.RowHeight = .Cells(1).FontSize
    End With
End Sub

 
やりたいことは、
1)列幅の調整
2)行高の調整
ですよね?
 
列幅や行高の設定は、
エクセルではセル毎には調整できません。
つまり、行全体、列全体に対して設定します。
なのでそのように書く必要があります。
 
なのでAutoFitの命令も行または列が対象になっているわけなのですが、
この命令も誰かが書いてくれたプログラムです。
その命令が気に入らなければ、自作で好きなように作ればいいわけです。
そのためにVBAが存在しているわけですよね?
 
ここで、
エクセルの機能であるAutoFitがどのような動作をするか知っておく必要があります。
また、エクセルを離れ、ポイントとは何ぞやということも知っておく必要があります。
その他のことももっともっと深く考え知る必要がある事柄があると思います。
それらの知識があれば、コードをどのように書けばいいかを思いつけるわけです。
 
上記のサンプルコードは、単純に行高の単位(ポイント)とは何ぞやというところを
調べてみて思いつきました。
しかし、実際のAutofitの命令は単純に行中の最大の文字のフォントのサイズを取得しているのではなく、
多少の余裕や罫線の太さも考慮してると思います。
この辺はAutoFitメソッドが実際はどのように動いてるか公開されてないため、
実験を重ね推察するしかないでしょう。
 
どうやるのか?というような表面的なテクニックだけを求めるのではなく、
さまざまなことを求め、考えた方がよいように思います。
参考になれば。

トピックに返信