現在のセルのみを拡大する(Microsoft Excel)
ブライアンは、現在のセルの内容を拡大する方法が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 [現在のセルのみを拡大]
。