• ベストアンサー

マクロについて質問です。

mar00の回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.3

選択行が一つ上に移動 Sub Macro1() If ActiveCell.Row = 1 Then Exit Sub Rows(ActiveCell.Row - 1).Select End Sub 選択行が一つ下に移動 Sub Macro2() If ActiveCell.Row = Rows.Count Then Exit Sub Rows(ActiveCell.Row + 1).Select End Sub If ActiveCell.Row = Rows.Count Then Exit Subは エクセルの最終行が選択されているという事は ないと思いますが念のため。

yoshimitsu525
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • エクセルマクロについて質問です。

    複数の行を選択し、その行を一つ上の行に挿入するマクロを教えていただきたいです。 345の行を選択しマクロボタンを押すとあうえおいのように一つ上に上がり、もう一度マクロボタンを押すと、うえおあいとあがっていくようなマクロです。また複数行でない場合も同様に、4の行を選択し、マクロボタンを押すと、あいえうおとあがるようにしていただきたいです。あわせて、一つしたの行に挿入するマクロも教えていただけると助かります。よろしくお願いします。 1あ 2い 3う 4え 5お

  • Excelマクロの質問

    マクロについて質問があります。  数千行のデータがあるのですが、それを一番上から一番下にするときに、フォームで作ったボタンで一番下にもっていきたいのですが、どのように行ったらいいかわかりません。(フォームで作成までできたのですが…)  また、オートフィルタという機能がありますが、一度フィルタをかけるとものをリセットする(フィルタがかかっていない状態)マクロは組めないでしょうか? 分かりにくい質問ですが、分かる人がいましたらよろしくお願いします。

  • Excelマクロ、VBAについて質問です。

    Excelマクロについて質問です。 管理表を作っているのですが、チェックボックスで選択した行の削除ボタンを作りたいと思っています。 ___A____ B____C 1 --- --- --- 2 --- --- --- 3 --- --- --- ・ ・ ・ というような表の先頭にチェックボックスをつくり、チェックを入れた行のみ削除し、 上に詰めるようにしたいと思っています。 上の表で2の行を消したら _A_ B_ C 1 --- --- --- 3 --- --- --- 4 --- --- --- となるような感じです。 どのようなプログラムをつくればいいでしょうか。 アドバイスお願いします。

  • VBAマクロの組み方

    Excelのマクロで、どのように組んだらいいのか、それがマクロで可能かどうか教えて下さい。 横一列に並んだcsvのデータをボタン一つで、選択したセル範囲全体が縦一列になる。 例) ○○○,0:12:50,△△△,0:05:40 … ○○○,0:27:32,△△△,0:30:11 … ○○○,0:08:02,△△△,1:18:12 … ○○○,0:34:17,△△△,0:19:06 … ボタンを押すと、△△△,時間 が○○○,時間 の下に移動する。 ○○○,時間  : △△△,時間  ←こんな感じ  : このようなことはできますでしょうか。

  • マクロについての質問です

    前回、このサイトにて教えてもらったマクロにて、不明な点が出てきましたので再度質問させていただきます。 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞                           ボタン  A  B  C  D  E  F  G    H                  data1                      data2                    data3                      data4                    data5                    data6                      ・                        ・                        ・     ※Gの列にはハイパーリンクが並んでいます。 ※ボタン押下時に選択しているセルの行番号を取得し、その行のA~F列をコピーして、ハイパーリンクで開いた ファイル(date・・・)にはりつける。 ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ この作業のマクロを教えていただき、以下のマクロが出来ました。 Sub book() Dim col As Integer '選択行No取得用変数 Windows("book.xls").Activate col = ActiveCell.Row '現在選択している行No格納 Range(Cells(col, 1), Cells(col, 6)).Select '該当行のA~F列選択 Selection.Copy '選択範囲コピー Cells(col, 7).Hyperlinks(1).Follow NewWindow:=True '該当行のリンク開く Sheets("Sheet2").Select '貼り付けシートの選択 Range("a2").Select '貼り付けセルの選択 ActiveSheet.Paste '貼り付け End Sub このマクロで、もともと作成していた6行程度の表では何の不自由も無く作業できました。 次にこの表の行が大量に増えてきましたので \\server\スタッフ\購買 フォルダーに、連続した番号のファイル (date1・date2・・・・date10)を作成し、上記の表の3行目(data1の行)のG列に、ハイパーリンク関数  =HYPERLINK("\\server\スタッフ\購買\"&H3&".xls",H3)を入力。 その後、3行目H列にdate1を入力し、フィルコピーにてdate1・date2・・・・date10までを作成。 次に3行目G列からフィルコピーにてハイパーリンクdate1・date2・・・・date10までを作成。 これで、単純に上記表を拡大することが出来たと思っていたのですが、今まで使っていたマクロボタンを押すと “実行時エラー9:インデックスが有効範囲にありません”となってしまい、デバックすると Cells(col, 7).Hyperlinks(1).Follow NewWindow:=True の行が黄色に点灯していました。 これはどういう内容でしょうか?どの作業が悪いのでしょうか?私としては、この表のからリンクするファイルを 増やし、そのファイル名をフィルコピーにて表に陳列させたいと考えていました。 もし何か良い作業があれば教えていただきたいです。すみませんがよろしくお願いします。

  • エクセルマクロ)VBAの書き方について

    初めてのマクロ作成に挑戦しようとしたのですが、さっそく壁に当たってしまい助けていただきたいです。 ■質問 A行に下記の数字が入っているとします。 この時、一番下の1300を元に、一番上の1300のセルをSelectしたいのですが、どのようにしたらよいのでしょうか? 今、試みていたのは、一番下の1300を使って、レンジA:Aを検索してみる方法です。それもできませんでしたが。。。 ※一番下の1300は、ここまでの過程でSelect状態になっています。 ※オフセットでの移動は希望していません。 ※選択中のセル(値)をみて、同じセル(値)が入った同列一番上のセルを選択したいです。 ※選択中のセルが下記の1200であった場合、一つしかないので、それを選択して欲しいです。 1000 1000 1100 1200 1300 1300 1300 1400 すみません、同じ内容の質問を見つける事が出来なかったので質問させていただきました。 よろしくお願いいたします。

  • Excelマクロ:選択したセルに通し番号を入れたい

    任意のセルを選択している状態で、マクロの実行をすると左上から下へ、一番したへ来たら次の行の一番上から通し番号を入れるというマクロを作りたいのですが、どのようなコードを書けば良いのでしょうか?

  • エクセル マクロボタンON/OFF状態の識別化

    行に0~100までのランダムなデータがあり、 マクロボタン1を押した時は0~20のデータが入っている行が… マクロボタン2を押した時は21~40のデータが入っている行が… マクロボタン3を押した時 41~60のデータが入っている行が… オートフィルタされるようにマクロとマクロボタンを作りました。 これを使うにあたり、表示されているデータは、どのボタンを押したものによる結果なのかを一目で知りたく思っております。 例えばマクロボタン2を押して、21~40のデータが入っている行がオートフィルタされている時に、マクロボタン2が押し込まれている表現とか、着色されるとか…そんなのはできないのでしょうか? 「どのマクロが選択されているか」がわかればボタンでなくても結構です。 ご教授、よろしくお願いいたします

  • Excelのマクロで最下行を選択して「一行挿入する」マクロの記述を

    Excelのマクロで最下行を選択して「一行挿入する」マクロの記述を教えてください。 ちなみにA列の一番下の行を選択し、その上に一行入れたいのです。 よろしくお願いします。

  • 「新しいマクロの記録」機能を使っての行挿入

    「新しいマクロの記録」機能を使って1行と2行の間に10行の空白行を挿入後、A13のセルを選択というマクロを作りました(マクロ1とします)。このマクロを実行すると1行と2行の間に10行の空白行が挿入された後、A13が選択されます。ここでもう一度、マクロ1を実行すると1行と12行の間にさらに空白行が10行挿入されA13が選択されます。このようになるのは当たり前と言えば当たり前なのですが、2回目にマクロを実行したときに12行と13行の間に10行の空白行が挿入された後、A24が選択されるようにするには、どのようにマクロを記録すればよいのでしょうか?  ようは、10行の空白行を挿入した後、セルを11行下に移動させるというマクロを作りたいのです。VBAの記述方法はほとんど分からないので「新しいマクロの記録」機能を使うことを前提にご教授ください。