• ベストアンサー

excelでのマクロ  一定条件での停止

初めて投稿させていただいております。 <自分のレベル> マクロ(VBA)については初心者で、自分で操作をして、 自動生成されるプログラムを多少改変できる程度。 <excel version> excel 2000 <教えていただきたい事> カーソルのある行に行挿入するマクロを作ったですが、 このとき、8行目より前にカーソルがある場合に、 メッセージを表示して、そのマクロを停止したいのですが どのようなプログラムを書けば良いでしょうか? よろしくお願いします。

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

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

↓こんな感じでどうでしょうか? Private Sub CommandButton1_Click() If (Selection.Row < 8) Then MsgBox ("8行目より前には挿入できません") Else Rows(Selection.Row).Insert Shift:=xlDown End If End Sub

関連するQ&A

  • マクロがわかるとは?

    MOUSのExcel、Word上級の試験合格しているのですが、マクロ組めるってことだよね?すごいね!と言われたことが過去に何度かあります。 MOUS試験で出てくるマクロってただ開始ボタン押して、何か処理して終了ボタン押して…ってだけだったような気がするので、別に「組める」ってほどのものでもないと思うのです(--; 「マクロ組める」というからにはVBAでプログラム作れるレベルを想像してしまうので、初めて「マクロ組めるんだね」と言われたときは、以前のMOUS試験にはVBA出てたのかと思ったくらいです。 世間一般的にExcel、Wordのマクロを理解しているというのはどういうレベルのことなのでしょうか? やっぱりボタンで処理を記録するってことだけですか?それともVBAでプログラム書けるってことですか?

  • Excelのマクロ>セルにカーソルがあたったらコメントを表示する

    こんにちはtmgmです。 Excelのマクロについての質問です。 私はよくExcelでコメントを挿入します。コメントは(非表示の場合は)本来マウスカーソルが当たると表示されますが、これをマクロを使ってちょっと改造したいです。その改造したい内容というのは、”セルにカーソルが当たったときだけコメントを表示する”というものです。仕事がらプログラムを組むことが多く、マウスをあまり使いません。ですのでExcelのコメントをキーボード操作で確認したいというのが本来の目標です。 どなたかお分かりになる方、いらっしゃいましたらご返答宜しく御願いします。

  • Excelのマクロで、開いた時に、行と日付が入るようにしたい

    教えてください。WinXP、Excel2000を使って、A1に日付、B1に記録をつけていて、枠線で囲んで、毎日記録しているのですが、一回一回、行を挿入するのが大変なので、マクロもしくはVBAで、ファイルを開いた瞬間に、自動的に1行挿入され、かつAの列に、その当日の日付が入るようにするにはどうしたらよいでしょうか?

  • エクセルのマクロについて

    すみません。教えてください。 以下のようなエクセルの表があるとします。 コード1,コード2,コード3,コード4のどれか1つでも違っていれば,次の行に空白行を挿入するというマクロを作成できればと思うのですが,どのような記述になるのでしょうか。 結果的には,3行目と4行目の間,7行目と8行目の間,8行目と9行目の間に行が挿入されればよいのですが。 エクセルVBAの本を読んだりしてはみたのですが,よくわからず,お伺いいたします。 よろしくお願いいたします。 1行目  コード1  コード2  コード3  コード4 2行目  100    10     15     110 3行目  100    10     15     110 4行目  200    10     15     110 5行目  200    10     15     110 6行目  200    10     15     110 7行目  200    10     15     110 8行目  100    10     15     210 9行目  100    10     25     110

  • スクロール停止を繰り返すマクロについて

    2500行ぐらいあるExcel データを 21行置きに10秒ぐらい閲覧するマクロを作成したのですが、5回に3回ぐらい 988行ぐらいのところで、停止してしまいます。プログラムのどこがいけないのでしょうか? Option Explicit 'Sleepを使う Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) Sub scroll()  ’準備のため20秒ストップを入れる ActiveSheet.Range("A1").Select Sleep 20000  ‘最初の8行目で一旦停止 ActiveWindow.SmallScroll Down:=8 Sleep 10000  ’ここからスタート Dim i As Long For i = 1 To 121 ActiveWindow.SmallScroll Down:=21 Sleep 10000 Next i End Sub

  • Excelマクロを削除したのに…

    こんにちは。 いまExcel2003を使用しています。 あるブックファイルにマクロプログラム(VBA)を作成しました。 VBAProjectエクスプローラには標準モジュール「Module1」 ができています。 そこでこのマクロ自体を削除することになり, VBAProjectエクスプローラから標準モジュール「Module1」 を開放しました。 ところが当該ブックファイルを一旦閉じて, 改めて開くと,[セキュリティ警告]ダイアログが表示されて, マクロを有効にするか無効にするかを聞いてきます。 マクロを消したら, マクロセキュリティレベルを変えないままで, 上記のダイアログが出ないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 よろしくお願いします。

  • エクセルのマクロってどういうときに使うのですか?

    VBAでプログラムを組むのとマクロを記録するでマクロを作るのは同じですか? VBAでプログラムを0から組むには知識が沢山必要だが、 マクロを記録からだと割合簡単に出来る気もします。 自分は、事務補助の仕事を以前していたのですが、簡単なアルバイトの管理表や 日程表、ガソリン料金の計算表などを入力していただけなのでマクロは使って いなかったのですが、マクロを使えばこういう場合も時間と労力を節約できたのでしょうか? マクロというのはどのようにつかうのでしょうか? 教えてくださいよろしくお願いします。

  • excelのマクロで条件による行の挿入

    列AとBがあり列Aに学校のクラス名A組、B組、C組・・・(20クラスほど)と氏名が 入るエクセルシートがあるのですが 先頭行はA組から始まり5行区切りで数え、(A組も5行のうちに入る) その5行内に次のB組が入らないように空白行を挿入したいです もし、5行以内にB組がない場合、次の5行でまたB組があるか判定しなければ氏名5つ あれば空白をいれてというのを20クラスぶん作るマクロは可能でしょうか? VBAの知識がさっぱりないので途方にくれています。 元のデータの例   マクロ実行後 列A   列B      列A   列B A組           A組   氏名1 111      氏名1 111  氏名2 222      氏名2 222 B組           空白行挿入 氏名3 333      空白行挿入 氏名4 444      B組 氏名5 555      氏名3 333 氏名6 666      氏名4 444 氏名7 777      氏名5 555 C組 氏名6 666              氏名7 777              空白行挿入              空白行挿入              空白行挿入              空白行挿入              C組  

  • エクセル2003の繰り返しマクロ

    EXCEL2003のVBAマクロの構文を教えてください。 下記のようにA列に文字が昇順で並んでいるワークブックXXがあります。 A 1あ 2あ 3あ 4い 5い 6う 7え 8お 9お 以下がマクロでやりたいことです。 (1)I行目から、1行目と同じ文字の最下行(この場合は3行目まで)を切り取る (2)新しいワークブックを作り、開く (3)それに貼り付ける (4)それを保存し閉じる (5)ワークブックXXに戻り、切り取られて空になった行を削除(そしてこの場合4行目が一番上に繰り上がる) この(1)~(5)までを繰り返し、ワークブックXXが空になったら終了する

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

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

専門家に質問してみよう