不注意で凍ったペインを取り除く(Microsoft Excel)
Stevenは、データの行と列が多数あるワークシートを持っています。彼は、セルB2をアクティブにしてからペインをフリーズすることにより、最初の行と列をフリーズしました。これは彼が望むように機能します。彼はブックを保存して閉じることもでき、ブックを再度開いたときにペインはまだフリーズしています。
ただし、Stevenがブックの新しいウィンドウ([表示]、[ウィンドウ]、[新しいウィンドウ])を開いた場合、新しいウィンドウには固定ペインがありません。彼はこのワークブックの多くのワークシートのペインをフリーズしているため、最初にどのウィンドウを閉じるかについて非常に注意する必要があります。最初に元のウィンドウを閉じると、ブックを保存すると、フリーズされていないすべてのワークシートが保存されます。
スティーブンは、フリーズしたペインの設定を保持するために新しいウィンドウを取得する方法があるかどうか疑問に思いますか?
スティーブンが起こる必要があることを処理するExcelの設定はありません。フリーズされたペインが保存されない理由は、FreezePanes(Zoom、Split、およびその他のいくつかの設定とともに)がウィンドウのプロパティであり、ワークシートやワークブックのプロパティではないためです。新しいウィンドウが作成されると、プロパティは元のウィンドウから継承されません。
ただし、この動作を回避する(そしてスティーブンの問題を解決する)ことはできます
マクロを使用してセットアップを行います。非常に短いアプローチは、リボンツールを使用して新しいウィンドウを作成するのをやめることです。代わりに、このマクロをQATに追加し、それを使用してウィンドウを作成します。
Sub CreateNewWindow1() Dim rPane As Range Set rPane = ActiveWindow.VisibleRange(1) ActiveWindow.NewWindow ActiveSheet.Range("B2").Select ActiveWindow.FreezePanes = True End Sub
マクロは新しいウィンドウを作成し、表示されているセルを元のウィンドウに表示されているものと同じに設定し、新しいウィンドウでセルB2を選択してから、ペインをフリーズします。
ただし、この単純なアプローチは、「ペインの凍結」のニーズがより多様である場合は機能しない可能性があります。たとえば、新しいウィンドウを作成し、新しいウィンドウを作成したときにアクティブだったウィンドウ内のペインと一致させる方法が必要な場合があります。
次のマクロは、現在のウィンドウに固定ペインがあるかどうかを確認します。含まれている場合は、フリーズされている場所を特定し、それを使用してフリーズされたペインを新しいウィンドウに設定します。フリーズされたペインがない場合は、とにかく新しいウィンドウが作成され、フリーズされたものはありません。いずれの場合も、元のセルで選択されたのと同じセルが新しいウィンドウで選択されます。
Sub CreateNewWindow2() Dim iRow As Integer Dim iCol As Integer Dim rOldPos As Range iRow = 0 iCol = 0 If ActiveWindow.FreezePanes Then iRow = ActiveWindow.ScrollRow iCol = ActiveWindow.ScrollColumn End If Set rOldPos = ActiveCell ActiveWindow.NewWindow If (iRow > 0) And (iCol > 0) Then Cells(iRow, iCol).Select ActiveWindow.FreezePanes = True End If rOldPos.Select End Sub
このコードも、必要な新しいウィンドウを作成するために使用できます。
フリーズしたペインの設定をアクティブなウィンドウから新しく作成したウィンドウにコピーするため、Stevenが必要としたことを実行します。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13366)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。