- ベストアンサー
セルを選択するマクロ(エクセル)
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 アクティブセルが含まれている行のみで、データが入力されている連続したセルを選択状態にするマクロとして、上記を考えました。 上記を違った形でもっと簡潔に表すことは可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
単純に Range(ActiveCell.End(xlToRight), ActiveCell.End(xlToLeft)).Select でいいと思います。 #1、は、行が選択されて #2、は、矩形でなくて凸凹の時にうまくいきません。
その他の回答 (2)
- masa_019
- ベストアンサー率61% (121/197)
回答No.2
こんにちは。 Application.Intersect(ActiveCell.CurrentRegion, ActiveCell.EntireRow).Select でしょうか。
質問者
お礼
有難うございます。 試してみました。 私の説明がまずかったかも知れません。 A1:B1データなし、C1:F1データあり、G1データなし、H1:K1データあり 上記の状況でD1:E1が選択状態の時に実行した場合は、C1:F1のみが選択状態になるマクロを求めていました。
- gatyan
- ベストアンサー率41% (160/385)
回答No.1
ActiveCell.EntireRow.Select
質問者
お礼
有難うございます。 試してみました。 データが入力されているセルのみを対象にしたかったのですが、そうでないセルも選択されてしまいました。
お礼
有難うございました。 うまくいきました。