• ベストアンサー

セルを選択するマクロ(エクセル)

Sub test() x = ActiveCell.Row y = ActiveCell.End(xlToLeft).Column z = ActiveCell.End(xlToRight).Column Range(Cells(x, y), Cells(x, z)).Select End Sub アクティブセルが含まれている行のみで、データが入力されている連続したセルを選択状態にするマクロとして、上記を考えました。 上記を違った形でもっと簡潔に表すことは可能でしょうか?

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

単純に Range(ActiveCell.End(xlToRight), ActiveCell.End(xlToLeft)).Select でいいと思います。 #1、は、行が選択されて #2、は、矩形でなくて凸凹の時にうまくいきません。

kayonon
質問者

お礼

有難うございました。 うまくいきました。

その他の回答 (2)

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

こんにちは。 Application.Intersect(ActiveCell.CurrentRegion, ActiveCell.EntireRow).Select でしょうか。

kayonon
質問者

お礼

有難うございます。 試してみました。 私の説明がまずかったかも知れません。 A1:B1データなし、C1:F1データあり、G1データなし、H1:K1データあり 上記の状況でD1:E1が選択状態の時に実行した場合は、C1:F1のみが選択状態になるマクロを求めていました。

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

ActiveCell.EntireRow.Select

kayonon
質問者

お礼

有難うございます。 試してみました。 データが入力されているセルのみを対象にしたかったのですが、そうでないセルも選択されてしまいました。

関連するQ&A

専門家に質問してみよう