
動画でExcel 標準の設定からシートを自分の好みの設定に変更
標準のフォントを自分の好きな規定のフォントで、常に使いたいときは、Excelのオプションを開いてもらって
全体という項目の中ほどにある、新しいブックの作成時というところで、規定フォントと使用するフォントを選ぶことができます。
しかし「行の高さをセンチで指定したい!」そんなことはオプション設定ではできません。マクロを使いましょう。
オプションの全般タブにある、新しいブックの作成時の項目で規定として使うフォントと、フォントサイズを変更することができます。
図では規定値の游ゴシックを、Webからダウンロードしてインストールした、07やさしさゴシックに変更しました。フォントサイズは規定値の11のままです。
ただし、これは自分でつかう場合の設定です。組織で使うExcelの場合は、その決まりに従ってください。

マクロを使ってシートのフォントの種類やサイズを変更したり、行の高さ列の幅を変更する場合は、次のように書くことができます。
with active sheet このactive sheetだけ変更したいと思います。
そして一応下に
end withですね。

With構文を入れ子で使っています。
With構文を使うと、ここでは 親オブジェクトがアクティブシート ですが、 共通の親オブジェクトを省略した書き方がそのWith構文の内側でできるわけです。そうするとコードがすっきりします。
内側のWith構文で、フォントの種類とサイズを指定しています。
外側で、行の高さをポイントで指定、列幅を文字数で指定しています。この指定方法がデフォルトです。

現在のフォントでシートの行の高さと列の幅の規定値は以下のようになっています。

実行すると、このように変わります。
コードは以下のようになります。列は1列目だけを文字数3に設定しました。
列全体を設定したい時は、列番号は記述しません。
.Columns.ColumnWidth = 3

Sub シートフォントをセット()
With ActiveSheet
With .Cells.Font
.Name = "メイリオ"
.Size = 16
End With
.Rows.RowHeight = 28 'ポイント
.Columns(1).ColumnWidth = 3 '文字数
End With
End Sub
今度は、フォントを変更し、列全体を設定してみました。

コードは以下のように設定しました。
マクロなら、
気に入った設定ができるまで、何度でもコードを書き換えることができますね。
Sub シートフォントをセット2()
With ActiveSheet
With .Cells.Font
.Name = "BIZ UDPゴチック"
.Size = 16
End With
.Rows.RowHeight = 28
.Columns.ColumnWidth = 3
End With
End Sub
標準のシートの設定に戻したい場合は次のコードで簡単に戻すことができます。
行の高さと列の幅について、規定のフォントを変更すると微妙に変わる場合があります。
以下は、Excelの2010以降、Excel2016の時の設定です。
ご自分のExcelのバージョンで新規ブックを作成してサイズは確認しておくと良いでしょう。
Sub 標準設定()
With ActiveSheet
With .Cells.Font
.Name = "游ゴチック"
.Size = 11
End With
.Rows.RowHeight = 18.75
.Columns.ColumnWidth = 8.38
End With
End Sub
今回のマクロは実は行の高さや列の幅をセンチで設定したいという内容です。
それでVBAのメソッドにApplication.CentimetersToPointsというメソッドがあって
ポイントをセンチに変えるということができるのですが、それはRowHeightの場合です。
RowHeightはポイントで表示されていますからそのまま使えます。
けれどもcolumnsの場合は、文字数なので実際にその表でどの文字を使ってるかということによっても変わってきてしまうのです。
変換処理をしなければいけません。元の基準が同じでないので、厳密にはピッタリにはならないこと、誤差があることを了承してください。
詳しくは動画内で説明しています。

上記は行の高さや列の幅をセンチで設定するだけのコードです。
同じコードを3回繰り返しているのは、通常しない操作なので、Excelが抵抗する(?ほんとに?)ので繰り返しています。

上記は1列目だけを1cmに設定しましたが、全体を設定するときは
Columns(1)を
Columnsに変更してください。
Sub 行列センチでセット1()
With ActiveSheet
With .Cells.Font
.Name = "メイリオ"
.Size = 12
End With
Rows("1:10").RowHeight = Application.CentimetersToPoints(1)
Columns(1).ColumnWidth = Application.CentimetersToPoints(1) _
* (Range("A1").ColumnWidth / Range("A1").Width)
Columns(1).ColumnWidth = Application.CentimetersToPoints(1) _
* (Range("A1").ColumnWidth / Range("A1").Width)
Columns(1).ColumnWidth = Application.CentimetersToPoints(1) _
* (Range("A1").ColumnWidth / Range("A1").Width)
End With
End Sub
こちらは、範囲を指定して1cmに設定したコードです。
Sub 行列センチでセット2()
With ActiveSheet
With .Cells.Font
.Name = "メイリオ"
.Size = 12
End With
Rows("1:10").RowHeight = Application.CentimetersToPoints(1)
Columns("A:J").ColumnWidth = Application.CentimetersToPoints(1) * (Range("A1").ColumnWidth / Range("A1").Width)
Columns("A:J").ColumnWidth = Application.CentimetersToPoints(1) * (Range("A1").ColumnWidth / Range("A1").Width)
Columns("A:J").ColumnWidth = Application.CentimetersToPoints(1) * (Range("A1").ColumnWidth / Range("A1").Width)
End With
End Sub