• ベストアンサー

エクセルのマクロ

Sub test x = ActiveCell.Address y = ActiveCell.End(xlDown).Address range(x:y).Select End Sub 上記の"range(x:y).Select"の正しい記述の仕方を教えてもらいたいのですが。

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

  • ベストアンサー
  • masa_019
  • ベストアンサー率61% (121/197)
回答No.1

こんにちは。 >上記の"range(x:y).Select"の正しい記述の仕方を教えてもらいたいのですが。 Range(x & ":" & y).Select のように記述すれば良いかと思います。 余計なことかもしれませんが、質問に有るコードは変数を使わなくても Range(ActiveCell, ActiveCell.End(xlDown)).Select の1行で済ませることも可能です。

naruue
質問者

お礼

ありがとうございました。 大変参考になりました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

ご承知でしたら、差し出たことをお許し下さい。 単一のセルが選択されている場合は  ActiveCell.Address で全く問題はありませんが、複数のセルが選択されている場合には、左上のセルが必ずしもアクティブセルではないことがあります。その場合、意図しない動作をする可能性があります。 このマクロを質問者さま以外も利用するのであれば  selection.cells(1,1).address にするか、  if Selection.Rows.Count > 1 Then ~ End If でチェックするほうが、誤動作防止という点では良いかもしれません。

naruue
質問者

お礼

ありがとうございました。 大変参考になりました。

関連するQ&A

専門家に質問してみよう