Excel VBAのWorksheet.Selectメソッドについて、
「Sheets(i).Select Replace:=False」
といった検索キーワードで時折アクセスがあることに気が付きました。
「sh.Select Replace:=False」
も、おそらく同じ疑問を持った方による検索でしょう。
「Replace:=False」とは何なのか調べていらしたのだろうと、私は想像しています。
Worksheet.Selectの引数Replaceの意味を確認するサンプルマクロ
複数のワークシートが存在するブックがアクティブな状態で、拙著『いちばんやさしいPowerPoint VBAの教本』でも多用しているショートカットキー[F8]で、以下のExcelマクロをステップ実行してください。
Worksheets(1).Select
Worksheets(2).Select Replace:=False
Worksheets(2).Select Replace:=True
End Sub
ステップ実行する際に、どのワークシートが選択されているかに注目です。
まず、
Worksheets(1).Select
を実行すると、1枚目のワークシートのみが選択された状態になります。
次の
Worksheets(2).Select Replace:=False
を実行すると、1枚目と2枚目のワークシートが選択された状態になります。
つづく
Worksheets(2).Select Replace:=True
を実行すると、2枚目のワークシートのみが選択された状態になります。
Selectの引数Replaceは選択済の選択状態を解除するかどうかを指定
WorksheetオブジェクトのSelectメソッドの引数ReplaceにFalseを指定すると、
選択済みのワークシートの選択状態を解除せず、選択を行います。
Worksheets(2).Select Replace:=False
を実行したときに、1枚目と2枚目のワークシートが選択されたのが、この状態です。
引数ReplaceにTrueを指定すると、選択済みのワークシートの選択状態を解除して、選択を行います。
Worksheets(2).Select Replace:=True
Worksheet.Selectメソッドの引数を指定していないときには、Replace:=Trueを指定されたときと同じ挙動をします。
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » Worksheet.SelectのReplace:=Falseとは