画面上の列の配置(Microsoft Excel)
Riekは、ユーザー入力用の画面を設定するマクロの開発中に問題が発生しました。列A:Gは常に画面上にとどまる必要があるため、彼のマクロはそれらの列をフリーズします。次に、コマンドを発行して列Zに移動し、入力を開始します。これにより、列T:Zがフリーズされた列A:Gの右側に配置されます。 Riekが本当に望んでいるのは、列Z:AFがA:Gの右側に表示されることですが、彼はそれを実現する方法を知りません。
望ましい結果を達成する方法はいくつかあります。 1つ目は、次のマクロのように、目的のターゲットを単に「過去」に移動してから、そのターゲットに戻ることです。
Sub GotoCol1() With Application ActiveWindow.FreezePanes = False Range("H1").Select ActiveWindow.FreezePanes = True .Goto Range("IV1") .Goto Range("Z1") End With End Sub
重要なコード行は、Gotoメソッドを使用する行です。最初のジャンプは最初の行の最後のセルに移動し、2番目のジャンプは真のターゲットZ1に戻ります。このように移動することにより、列Zは凍結範囲A:Gのすぐ右側に配置されます。
これは問題なく機能しますが、より良い解決策は、GotoメソッドでScrollパラメーターを使用することです。次の例を考えてみましょう:
Sub GotoCol2() With Application ActiveWindow.FreezePanes = False Range("H1").Select ActiveWindow.FreezePanes = True .Goto Reference:=Range("Z1"), Scroll:=True End With End Sub
ScrollパラメーターはGotoメソッドではオプションです。デフォルトはFalseです。 Trueに設定すると、Gotoはウィンドウをスクロールして、ターゲット範囲(Z1)の左上隅がウィンドウの左上隅に表示されるようにします。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2464)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link画面上の列の配置。