スティーブンがワークブックを開いて最大化した後、1つ以上の追加のワークブックを開くと、追加のワークブックは最大化されているように見えますが、実際にはそうではありません。これらの追加のワークブックの左側、下部、および右側は画面の端にありますが、インデックスカードが互いにオフセットされているように、上部は下にカスケードされます。スティーブにとっては、追加のワークブックをウィンドウの小さな部分として開くか、完全に最大化してウィンドウを小さなサイズに「復元」できるようにすると、はるかに良いでしょう。彼は、これらの追加のワークブックを開いたときにウィンドウサイズを制御する設定があるかどうか疑問に思います。

マクロを使用すると、ブックウィンドウで何が起こるかに簡単に影響を与えることができます。これを行う通常の場所は、ThisWorkbookオブジェクトのイベントハンドラーであるWorkbook_Openマクロです。これは、ウィンドウが最大化されていることを確認するだけの非常に単純なバージョンです。

Public Sub WorkBook_Open()

Application.WindowState = xlMaximized End Sub

その後、必要に応じて、最大化されたウィンドウのサイズを手動で調整できます。

もちろん、マクロを「構築」して、他の方法でウィンドウを操作することもできます。たとえば、以下は、ワークブックが開いているモニターの最大画面サイズを決定し、画面幅の72%と画面高さの96%を占めるようにウィンドウサイズを調整するマクロです。

Public Sub WorkBook_Open()

Dim iMaxWidth As Integer    'Screen width (pixels)

Dim iMaxHeight As Integer   'Screen height (pixels)

Dim sngStartX As Single     'Upper-left corner of desired window     Dim sngStartY As Single     'Upper-left corner of desired window     Dim sngWidth As Single      'Width of desired window     Dim sngHeight As Single     'Height of desired window

'Specifications for final window size     sngStartX = 0.14   'Fraction of screen width from left edge     sngStartY = 0.02   'Fraction of screen height from top     sngWidth = 0.72    'Fraction of screen width desired     sngHeight = 0.96   'Fraction of screen height desired

With Application         'Maximize screen in order to grab maximum width and height         .WindowState = xlMaximized         iMaxWidth = .Width         iMaxHeight = .Height         .WindowState = xlNormal

'Set final window position and size         .Top = iMaxHeight  sngStartY         .Left = iMaxWidth  sngStartX         .Width = sngWidth  iMaxWidth         .Height = sngHeight  iMaxHeight     End With End Sub

もちろん、2つの変数(sngWidthとsngHeight)の設定を調整して、異なる最終画面サイズを選択することもできます。 sngStartX変数とsngStartY変数の設定を調整して、最終ウィンドウの左上隅の位置を指定することもできます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(4975)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。