• ベストアンサー

エクセル マクロ アクティブセル領域を移動させたい

いつもお世話になっております。 当方マクロ超初心者です。 アクティブセルの大きさは変えずに、 範囲だけを移動させるマクロがつくりたいです。 例えば A1 B1 A2 B2 A3 B3 の6つのセルがアクティブの時に実行すると B3 C3 B4 C4 B5 C5 がアクティブになるマクロを作りたいです。 (この場合だとアクティブセルが 右へ2つ、下へ1つ移動したイメージ) 何卒よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

VBAは苦手なのでそれまでのつなぎです マクロの自動記録で '1. A1:A3セルを選択する  Range("A1:B3").Select '2. 記録終了ツールバーから[相対参照]ボタンをクリックして '3. A3:C5を選択してみました  ActiveCell.Offset(2, 1).Range("A1:B3").Select (ちなみにActiveCellは一つしか存在しません) 上記を参考に作成すると  Range("A1:B3").Select   Selection.Offset(2, 1).Select といった感じでしょうか?

hamanyaaki
質問者

お礼

Selection.Offset(2, 1).Select そうなんです。これがやりたかったんです! ありがとうございました。

その他の回答 (6)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.7

ActiveCell.Offset(2, 1).Resize(Selection.Rows.Count, Selection.Columns.Count).Select

hamanyaaki
質問者

お礼

なるほど。 Resizeというものがあるんですね。 勉強になりました。 ありがおとうございました。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.6

Range("A1:B3").Select Selection.Offset(2, 1).Select

hamanyaaki
質問者

お礼

私が求めていたのはまさにこれでした! Selection.Offset(2, 1).Select ありがとうございました。

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.5

こういうことかな? Sub test()   With Selection     .Offset(.Rows.Count - 1, .Columns.Count - 1).Select   End With End Sub

hamanyaaki
質問者

お礼

なるほど・・・ これです!ありがとうございます。 他にも応用できそうです。 ありがとうございました!!

回答No.4

'3. B3:C5を選択してみました の間違いですm(_ _)m

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

一つ確認なのですが、 選択セルではなく、アクティブセルですか? アクティブセルの単一のセルしかありえません。 選択セルなら複数ありえますが。 アクティブセルなら、 ActiveCell.Offset(1, 2).Activate となります。

hamanyaaki
質問者

お礼

選択セル=アクティブセルだと思っていました。 別なんですか? お恥ずかしいです・・・ ご指摘ありがとうございました。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

一例です A1:B3を選択した状態で実行 Sub test() Selection.Offset(2, 1).Select End Sub 以上です

hamanyaaki
質問者

お礼

Selection.Offset(2, 1).Select そうなんです。これがやりたかったんです! ありがとうございました。

関連するQ&A

専門家に質問してみよう