同僚が最初に作成したワークブックを使用する場合、他の人がそれらのワークブックに適用するズーム率に不満を感じる可能性があります。たとえば、同僚(Wanda)が巨大なモニターを持っている場合、Excelのズーム率を75%または60%に下げることも珍しくありません。もちろん、その目的は、フルズームファクターで非常に大きく見えるものに圧倒されないようにすることです。

問題は、ズーム率がブックに保存されることです。したがって、Wandaがワークブックを保存してあなたに渡すとき、それを開くと、Wandaが最後に使用したズーム率でワークブックが表示されたままになります。

Wandaと同じサイズのモニターがない場合、ワークブックはシステム上でほとんど判読できない可能性があります。

この問題に対する可能な解決策は2つだけです。まず、ワークブックを開いたら、ズーム率を簡単に調整できます。これを行う方法は多数ありますが、最も簡単な方法は、[書式設定]ツールバーの[ズーム]設定、またはマウスのスクロールホイールを使用することです。 (一部のシステムでは、スクロールホイールでズーム率を調整するためにCtrlキーを押したままにする必要がある場合があります。)

2番目の回避策は、ブックとともに保存されるマクロを作成することです。マクロは、ブックを開くたびに実行できるため、ズーム率を設定できます。 (このマクロは、VBAエディターの[このワークブックコード]ウィンドウに追加する必要があります。)

Private Sub Workbook_Open()

ActiveWindow.Zoom = 100 End Sub

もちろん、このようなマクロの唯一の問題は、ワンダ(同僚)が自分のシステムでワークブックを開くたびにズーム率も設定され、あなたが彼女と同じようにイライラすることです。

おそらく解決策は、より複雑なマクロを作成することです。現在の画面解像度をチェックし、それに応じてズーム率を設定するマクロです。

たとえば、次のマクロを使用して、解像度に基づいて調整を行うことができます。

Declare Function GetSystemMetrics32 Lib "user32" _     Alias "GetSystemMetrics" (ByVal nIndex As Long) As Long

Public Sub ScreenRes()

Dim lResWidth As Long     Dim lResHeight As Long     Dim sRes As String

lResWidth = GetSystemMetrics32(0)

lResHeight = GetSystemMetrics32(1)

sRes = lResWidth & "x" & lResHeight     Select Case sRes         Case Is = "800x600"

ActiveWindow.Zoom = 75         Case Is = "1024x768"

ActiveWindow.Zoom = 125         Case Else             ActiveWindow.Zoom = 100     End Select End Sub

このルーチンは画面の解像度をチェックし、それに応じてウィンドウを調整します。他の解像度とズームは簡単に追加できます。ルーチンを自動的に実行するには、[このワークブックコード]ウィンドウでWorkbook_Openイベントハンドラーを使用して、マクロをトリガーします。

Private Sub Workbook_Open()

ScreenRes End Sub

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

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

このヒント(2668)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。