• ベストアンサー

エクセルマクロ

キーボード操作では、→→→↓shiftキー押しながら→→↓↓の手順操作のマクロを作成したい (セル番地で指定したマクロでなく、開始時のアクティブセル(任意セル番地の基点)から右3下1の位置から右2、下2の範囲指定をしたい) 仮に例を示すと、アクティブセル(仮にアクティブセル番地B5だったとすると)からカーソル左へ3つ、下へ1つ移動(アクティブセルはE6)し、右に2、下に2(E6:F7)を範囲選択するマクロを作成したい。

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

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

(例1) ActiveCell.Offset(1, 3).Resize(2, 2).Select (例2) Selection.Offset(1, 3).Resize(2, 2).Select (例3) Range("B5").Offset(1, 3).Resize(2, 2).Select VBAでは大概の場合Selectしなくても大丈夫です。 Selectしない方が処理速度が向上します。

hiro7-5
質問者

お礼

困っていたので助かりました。ありがとうございました。

その他の回答 (1)

  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.2

>キーボード操作では、→→→↓shiftキー押しながら→→↓↓の手順操作のマクロを作成したい エクセルの"マクロの記録"で上記の手順を行えば記録されるのでは?? その際には"相対参照で記録"を選んでおく事。

hiro7-5
質問者

お礼

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

関連するQ&A

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

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

  • エクセルのマクロ

    エクセルのマクロに、ついて質問です 処理の範囲をセル指定していますが セルを結合して無いシートだと問題無く処理してくれるのですが セルを結合してるシートだと処理がされません セルの番地は確認してるはずなのですが‥ 問題の可能性を教えて下さい

  • マクロについて

    マクロでゲームをつくるという宿題がでたのですが、 十字キーでアクティブセルを移動させていったとき、特定の範囲のセルに来た時、 一つ前のセルに戻すというようなマクロをくみたいのですが、どうしたらいいのでしょうか? また、アクティブセルに合わせてオブジェクトを動かしたいときは どうすればいいのでしょうか? 教えてください。

  • Excelのマクロを使わず、数式内のセル指定範囲をダイナミックにすることはできますか?

    Excelで数式内に範囲を指定するときに、先頭と最後尾のセル番地を指定しますが、他のセルで指定した数値を指定したセル番地の行数に指定することはできますか? 例えば、以下のようなサンプルにおいて A B C D 1 10 2 4 2 32 3 42 4 20 5 17 6 =sum(A2:A4) C1番地に2、D1番地に4を入力すると自動的に A6番地でA2~A4の範囲を指定して足し算してくれるようなことをマクロを使わずに実現できるでしょうか?

  • 値の入っているセルをカウントするマクロの作成

    マクロ初心者です。 アクティブセルから一つ上の列に、値が入っているセルが何個あるのかカウントするマクロを作成したいのですが、うまくいかずに困っております。 すみませんが、よろしくお願いします。 参考用画像の解説 【ActiveCell】セルから上の列を範囲指定。 1、2、3と数字が入っているセルが何個あるのかカウント。

  • エクセルのマクロで範囲名設定の記述を教えてください。

    エクセルのマクロで範囲名設定の記述を教えてください。 Lotus123時代に作成したマクロを、エクセルに置き換えるのに苦労しています。 範囲名ということで、特定のセル(範囲)に名称をつける機能がありますが 「カーソルの現在位置に範囲名をつける」方法がわかりません。 自動記録で作成すると、範囲名のセルに絶対値が入ってしまい、 これを繰り返し記述すると、次の範囲名のセルもまた同じ場所になってしまいます。 たとえばカーソルを置いたスタート位置にいったんセル名(範囲名)をつけ、 作業後にジャンプでその位置に戻り、そのセル名を削除した後、 ひとつ右にうつった位置を次の戻り位置として再指定することを繰り返したいのです。 Lotusでは行ってきたのですがエクセルではなかなかうまく行きません。 ActiveWorkbook.Names.Add Name:="範囲名",RefersToR1C1:="=Sheet1!R11C5: R13C5 " 作業後ジャンプでこの範囲セルに戻り、このセル名を削除 カーソルを別の位置に動かして、そこに新しく同じ名前のセル名をつくる。 このときの記述をどう書くかということです。 「Sheet1!R11C5: R13C5」というのが常にカーソルを置いた位置に可変させたいのです。 エクセル初心者をよろしくお願いいたします。

  • エクセルで印刷範囲を自動で指定し、印刷するマクロ

    エクセルの表の中から、ある特定の文字が入っている セルを探し、そのセルから「下に3、右に2」の範囲 (文字が入っているセルは含まない)を自動的に範囲 指定して印刷するマクロをつくりたいのですが、どうすればよいでしょうか? たとえば、「○」が入力されているセルが A2だとすればA3からC5を自動的に範囲指定して印刷 するようにしたいのです。 どうぞよろしくお願いします。

  • エクセル マクロ 行 非表示

    マクロについてご教授お願い出来ないでしょうか。 マクロ初心者です。 エクセル アクティブセル(ex A120セルやA20セル)の行から1行目までを非表示にさせるマクロがわかりません。 アクティブセルから下の行を非表示にさせるマクロは下記URLにて紹介がありましたが・・ https://www.relief.jp/docs/excel-vba-hide-below-active-cell.html また、もし可能でしたら、アクティブセルからA2行目までの非表示、つまり 1行目は残すマクロが可能でしたら、合わせてご教授どうぞよろしくお願い致します。 

  • エクセルでのマクロ作成

    エクセルで作成したボタンをクリックすると以下の事を行うマクロを作りたいと思っています。 (1)最初に貼り付けたいセルの範囲をドラッグで選択する。(手動) (2)マクロを登録したボタンを押す。 (3)マクロ内で指定したセル(たとえば $A$1)をコピーして、(2)でボタンを押してマクロを実行する前に(1)で選択したセルの範囲に貼り付ける。 VBAが分からないので難儀しています。 宜しくお願いします。

  • マクロの作り方がわかりません

    【大至急】マクロの作成方法教えてください!! 質問追記欄のようなマクロを作成したいのですが、どのようにマクロで作成したらよいのかわかりません。 以下ようにマクロ作成をしたいのです。 また、間違った操作をしたらエラーメッセージが表示されるようにできますか? (1)sheet1のB1からJ53の選択範囲のセルをコピーする。 (2)ドライブ指定先にテキスト貼り付けをする。 (3)テキスト貼り付けしたデータを、(1)のセルJ4に記入されている名前で別名保存する。  ※保存先は、ドライブ指定です。

専門家に質問してみよう