追加のブックを開くときのウィンドウサイズの制御(Microsoft Excel)
スティーブンがワークブックを開いて最大化した後、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に適用されます。