ブライアンは、現在のセルの内容を拡大する方法がExcelにあるかどうか尋ねました。彼は、シート全体を表示するために低ズーム設定(30%程度)にする必要があるワークシートに取り組んでいます。さまざまなシナリオが実行されると、結果に応じてセルの色が変わります。ブライアンは、調査する必要のあるセルを簡単に確認できますが、ズーム設定のためにそれらを読み取ることができません。彼は通常、ズームを変更し、答えを読み、ズームアウトして別のシナリオを実行します。現在のセル(選択されたセル)のみが読み取り可能なレベルに拡大された方がはるかに簡単です。

この選択的なズーム方法を実現するための組み込みの方法はExcelにはありませんが、使用できる回避策がいくつかあります。このような回避策の1つは、アクティブセルの値をメッセージボックスに表示するマクロを使用することです。このようなマクロは、ワークシートモジュールに簡単に追加できます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox ActiveCell.Address & ": " & ActiveCell.Value End Sub

ワークシートで別のセルを選択するたびに、マクロはそのセルの内容を示すメッセージボックスをポップアップします。これで問題は解決しますが、選択するセルを変更するたびにメッセージボックスを閉じ続けるのは面倒です。

現在選択されているセルのフォントサイズを変更するだけのマクロを作成することもできます。ワークシートモジュールに追加された次の単純なマクロは、現在選択されているセルを調べ、そのフォントサイズを500%増やします。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

FontSize = ActiveCell.Font.Size     LargeSize = FontSize * 5     Cells.Font.Size = FontSize     ActiveCell.Font.Size = LargeSize End Sub

もちろん、このようなマクロの有用性は、選択したセルの高さと幅をどのようにフォーマットするかによって異なります。静的な高さと幅の場合、フォントサイズを大きくすると、セルの内容が読み取れなくなる可能性があります。高さと幅が動的である場合でも、内容はかなり読みやすいはずです。

さらに別のアプローチは、選択された各セルの独自の拡大画像を作成することです。

Private Sub ZoomCell(ZoomIn As Single)

Dim s As Range     Set s = Selection

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

マクロを使用するには、ワークシートの選択が変更されるたびにマクロを呼び出す必要があります。これを行うには、ワークシートモジュールに小さなマクロを追加します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ZoomCell 6 End Sub

この場合、セルの選択が変更されるたびに、ZoomCellマクロが実行され、元のサイズの6倍のサイズの画像が作成されます。別のセルを選択するたびに画像が自動的に変更されるのが面倒な場合は、ワークシートモジュールのトリガーマクロを廃止し、ZoomCellマクロを変更して、開始するたびに実行されるようにすることができます。設定します。

Sub ZoomCell()

Dim s As Range     Dim ZoomIn As Single     Set s = Selection     ZoomIn = 6

'Get rid of any existing zoom pictures     For Each p In ActiveSheet.Pictures         If p.Name = "ZoomCell" Then             p.Delete             Exit For         End If     Next

'Create a zoom picture     s.CopyPicture Appearance:=xlScreen, _       Format:=xlPicture     ActiveSheet.Pictures.Paste.Select     With Selection         .Name = "ZoomCell"

With .ShapeRange             .ScaleWidth ZoomIn, msoFalse, _               msoScaleFromTopLeft             .ScaleHeight ZoomIn, msoFalse, _               msoScaleFromTopLeft             With .Fill                 .ForeColor.SchemeColor = 9                 .Visible = msoTrue                 .Solid             End With         End With     End With     s.Select     Set s = Nothing End Sub

注:

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

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

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

このヒント(10426)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Magnifying_Only_the_Current_Cell [現在のセルのみを拡大]