• ベストアンサー

このマクロの意味をおしえてください。

マクロ初心者ゆえ簡単なマクロを組んでエクセルファイルを作っていましたが ある時気がつくと以下のようなマクロが書き込まれていました。 Private Sub Worksheet_Activate() Set Rng = ActiveWindow.VisibleRange X = Rng(Rng.Count).Row ScrollArea = "A1:IV" & X End Sub このマクロはどういう意味でしょうか? 自分で書き込んだ記憶が無く、かといって勝手に書き込まれるはずも無く。。。 削除してしまって良いのか悩んでいます。 よろしくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

当該のシートを開いた際に,現在の表示範囲の外にスクロールできないようにしたいマクロと推測できます。 言わずもがなですがこういったマクロが「自動生成」されるはずもなく,どこかから拾ってきたブックにそういう具合に仕込まれていたか,若しくはご自分で設定したのを忘れているだけでしょう。 必要ないと判断したなら,削除するだけです。 Private Sub Worksheet_Activate() ’当該のシートを開いた際に自動実行する Set Rng = ActiveWindow.VisibleRange ’現在の表示状態において表示されているセル範囲を変数Rngに取得する X = Rng(Rng.Count).Row ’変数Rngに格納されたセル範囲の最後のセルの行番号を変数xに取得する ScrollArea = "A1:IV" & X ’現在のウィンドウでスクロール可能な範囲として,A1セルからIV列のX行までのセル範囲を設定する End Sub

SORAN27
質問者

お礼

ありがとうございます。 内容が分かってスッキリしました。