- ベストアンサー
エクセル マクロ アクティブセル領域を移動させたい
いつもお世話になっております。 当方マクロ超初心者です。 アクティブセルの大きさは変えずに、 範囲だけを移動させるマクロがつくりたいです。 例えば A1 B1 A2 B2 A3 B3 の6つのセルがアクティブの時に実行すると B3 C3 B4 C4 B5 C5 がアクティブになるマクロを作りたいです。 (この場合だとアクティブセルが 右へ2つ、下へ1つ移動したイメージ) 何卒よろしくお願いいたします。
- hamanyaaki
- お礼率76% (42/55)
- オフィス系ソフト
- 回答数7
- ありがとう数6
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
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 といった感じでしょうか?
その他の回答 (6)
- xls88
- ベストアンサー率56% (669/1189)
ActiveCell.Offset(2, 1).Resize(Selection.Rows.Count, Selection.Columns.Count).Select
お礼
なるほど。 Resizeというものがあるんですね。 勉強になりました。 ありがおとうございました。
- xls88
- ベストアンサー率56% (669/1189)
Range("A1:B3").Select Selection.Offset(2, 1).Select
お礼
私が求めていたのはまさにこれでした! Selection.Offset(2, 1).Select ありがとうございました。
- m3_maki
- ベストアンサー率64% (295/459)
こういうことかな? Sub test() With Selection .Offset(.Rows.Count - 1, .Columns.Count - 1).Select End With End Sub
お礼
なるほど・・・ これです!ありがとうございます。 他にも応用できそうです。 ありがとうございました!!
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
'3. B3:C5を選択してみました の間違いですm(_ _)m
- marbin
- ベストアンサー率27% (636/2290)
一つ確認なのですが、 選択セルではなく、アクティブセルですか? アクティブセルの単一のセルしかありえません。 選択セルなら複数ありえますが。 アクティブセルなら、 ActiveCell.Offset(1, 2).Activate となります。
お礼
選択セル=アクティブセルだと思っていました。 別なんですか? お恥ずかしいです・・・ ご指摘ありがとうございました。
- hige_082
- ベストアンサー率50% (379/747)
一例です A1:B3を選択した状態で実行 Sub test() Selection.Offset(2, 1).Select End Sub 以上です
お礼
Selection.Offset(2, 1).Select そうなんです。これがやりたかったんです! ありがとうございました。
関連するQ&A
- アクティブセルが移動しない
エクセルでマクロを作成したのですがマクロ実行後にアクティブセルが方向キーで移動しない場合があります。(マウスでクリックするとそこへアクティブセルは移動できますが) マクロにはInputBoxがあり正常に処理が進んだ場合はアクティブセルは移動できますが、キャンセルした場合やマクロで規定した値以外を入力した場合にアクティブセルが移動しなくなります。移動しなくなってもそのファイルを閉じて再度開くと正常にアクティブセルは移動できます。 マクロの記述に問題があるとは思っていますがどうしたら良いかわかりません。どうかご教授ください。
- 締切済み
- オフィス系ソフト
- Excel2002マクロ セルのアクティブ状態移動
お世話になります このようなことができるのかどうか分からないのですが、もしできるのであればその方法を知りたいです。 実行する内容は、特定のセル範囲で、指定した時間毎にセルのアクティブ状態を移動するというものです。 対象となる特定のセル範囲は、最大で([A1]~[J9])+([A10]~[G10])の合計97個のセルです。 このセル範囲は、その日によって変わります。 より上の行を優先にして、更に、より左のセルを優先にして、36個であったり、47個であったり、49個であったり、ほかの数の場合もあります。 この対象となる特定のセルの個数は[E14]のセルに入っている値で指定しています。 その日対象となる範囲のセルには数値が入っているかまたは空欄のどちらかです。 入っている数値は1~97の範囲でランダムで、重複する数値はありません。 アクティブ状態の移動先は、移動前にアクティブになっているセルの右隣。 セルのアクティブ状態が対象範囲の一番右端まで行った場合、次はその下の行の左端のセルです。 更に、セルのアクティブ状態がその日の対象範囲の一番右下まで行った場合、次は[A1]です。 アクティブ状態が移動する時間間隔は[G15]のセルに入っている時間です。 マクロ開始後[G15]のセルに入っている時間経過後、セルのアクティブ状態が移動します。 更に[G15]のセルに入っている時間経過後、その次のセルがアクティブになっていきます。 例えば次の条件の場合 対象となる特定のセル範囲は([A1]~[J3])+([A4]~[B4]) マクロ開始前のアクティブセルは[G3] [E14]のセルに入っている値は32 [G15]のセルに入っている時間は30秒 の場合 マクロ開始30秒後、アクティブセルは[H3]になります。 その後、30秒毎にアクティブ状態は移動していきます [I3][J3][A4][B4][A1][B1][C1]・・・ このマクロを終了させるのは、マウスで直接別のセルをアクティブにしたとき、または、矢印キーでアクティブセルを移動したときなどにしたいですが、可能な方法が限られているようでしたらその方法にします。 以上よろしくお願いします。
- 締切済み
- Excel(エクセル)
- Excel VBA アクティブセルからある一定のセルまでの範囲選択
Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。 A B C D 1 日付 № 品名 金額 2 1/1 1 ○○○ 1,000 3 1/2 2 ××× 1,500 4 計 2,500 5 6 7 1/1 5 ○×○ 2,000 8 1/3 6 ××○ 1,200 9 1/4 7 ×○○ 2,500 計 5,700 : :
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロ 条件分岐?
VBA初心者です。よろしくお願いします。 相対参照で2つあるマクロ(マクロ名:コーヒーとマクロ名:紅茶)のうち条件をつけて片方を実行するようにしたいのですが、どのように記述したらできるでしょうか。 条件はアクティブセルがセルC1にある状態でセルA1に123と入力されているときに、コーヒーを実行してabcと入力されているときに紅茶を実行し、その返しをB1に入力します。
- ベストアンサー
- その他MS Office製品
- 繰り返し処理のマクロ
下記のマクロをご教示いただけるでしょうか。 ①シートAのアクティブセルをコピーし、シートBのE1セルにペースト ②マクロ「結果反映」を実行 ➂シートAのアクティブセルを1行下に移動 ①から➂をアクティブセル=空白セルになるまで繰り返し
- ベストアンサー
- Visual Basic
- アクティブセルをキーにして並べ替えするマクロ
EXCEL2003で、ボタンを押すと、「アクティブセルがある列」をキーにして、 降順で並べ替えが実行されるようなマクロを組みたいと考えています。 表自体は、「A1:Z1000」 の範囲でデータがあるのですが、 その内、「D2:Y999」 の部分だけが並び替わるようにしたいのです。 したがって、アクティブセルが、「A列~C列とZ列」の範囲内にあるときは無効で、 「D列~Y列」の中にあるときだけ動作するようにしたいです。 どんなふうに記述すればよいか、教えていただけませんでしょうか? どうかよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロでセルの移動方向を変えるには
ひとつのシート内に表が3つあり、それぞれの表のセルの移動方向を変えたいのですが マクロを使えば可能でしょうか? 【表A】A1:B30 (セル移動「下」) 【表B】D1:P10 (セル移動「右」) 【表C】d2:K30 (セル移動しない) ([エクセルのオプショ]-[編集設定]でセルの移動方向は「下」に設定しています) よろしくお願いします。
- 締切済み
- その他MS Office製品
- エクセルのマクロで特定セル(最終セルの1つ下)への移動方法を教えて下さい
エクセルでデータの最終セルのもう1つ下のセルに移動する マクロを作れますか? 例えば、住所録をリストで作成していたとします。 マクロを実行したら、新規レコードを入力するセル (*が入ってるセルです)にアクティブセルを移動する ・・・というマクロです。 コードの方法は教えてもらったのですが、コードがわからない方に 教えてあげたいのですが、マクロの記録でも同じことができますでしょうか? よろしくお願いします!!
- 締切済み
- Windows XP
お礼
Selection.Offset(2, 1).Select そうなんです。これがやりたかったんです! ありがとうございました。