- ベストアンサー
エクセルのマクロ実行について
ボタンではなく動作を受けてマクロを実行させることはできませんか? 例えば、あるセルに「2」を入れると実行する等
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- EXCELでマクロを初めて実行してみたんですがぁ・・・・
初めてマクロというものをやってみました。 ただ、動作を記憶させただけです。プログラムは全然知りません。 sheet1の株価4本値と日付を1日だけ繰り上げる 単純な動きです。一番最後のセルにその日の 日付と4本値と入れて、マクロを実行させて、1日だけ繰り上げる 作業です。 それを、Sheet2が「=Sheet1!B2」このような形で参照するように してあるのですが、実行させると、 Sheet2B2のセルが#REF!とかなんとか表示されて B3からしか正しく表示されません。 以後同じことを繰り返すと、どんどん1つずつセルがエラーして 正しく表示されるセルが下がりながら、減っていってしまいます??? なぜなんでしょうか?? また回避策というか、正しい方法はありますでしょうか?? 何卒、初めてなので、わかりやすくお教えいただけると ありがたいです。 よろしくお願いを致します。
- ベストアンサー
- オフィス系ソフト
- EXCELで”+100"を実行するマクロ
EXCELで、マクロを実行するたびに、そのセルに入っている数に100プラスされるマクロを作りたいのです。 意味がよく分からないかもしれませんが、 例えば、あるセルに"100"という数値が入っていて、 1回実行すれば100+100で"200"に、もう1度実行すると、200+100で"300"に。…という感じです。 私的に考えたのは、 別のセルに"そのセル+100"をする式を書き込み、 コピー&元のセルに値貼り付けをし、 式の入った別のセルをDELする… というのをマクロにしてみたのですが、 イマイチうまくないというか… よい方法があったら、アドバイスください。
- ベストアンサー
- オフィス系ソフト
- Excel 画像クリックでマクロ実行
Sheet上にある画像をクリックすると拡大表示する、という動作をさせたいと考えています。 画像は複数個、順次追加されるので、画像にマクロを組みこんで、ボタン化する、ということではなく、イメージとしてはWorkbook_SheetChangeでどのセルの値を変えてもマクロが実行されるように、どの画像をダブルクリックしても、その画像が拡大されるようにしたいのですが可能でしょうか?
- 締切済み
- Excel(エクセル)
- エクセル マクロの実行方法について
エクセル2003を使っています。 あるセル(例えばA1)をクリックする(アクティブにする)とあるマクロ(例えばmacro1)が実行されるようにしたいのですが、どのようにすればよいのでしょうか? フォームボタンを作ってボタンにマクロを割り当てるという方法は都合が悪いので、上記方法が実現できるととても助かります。 初歩的な質問で申し訳ありませんがよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel VBAでマクロの実行範囲を限定することはできますか?
選択したセルに塗りつぶしを設定するマクロを組んでボタンに登録していますが、塗りつぶし不可のセルを選択してボタンをクリックした場合は塗りつぶしのマクロが実行できないようにする、といったことはできますか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロが実行できません
オフィス2002ではマクロを実行できたのに、オフィス2003に変えたらマクロに無署名のため、自動的にマクロが実行できないようになっているらしくて、マクロが実行できません。マクロを有効にするためには、「この発行者のマクロを常に信頼するチェックボックスをオンにする」「マクロを有効にするボタンをクリックする」とあるのですが、それらはどこをクリックすれば出てくるのでしょうか?
- 締切済み
- その他([技術者向] コンピューター)
- 値によって違うマクロの実行
表題の質問をさせていただきます。よろしくお願いいたします。 A1セルには、別シートで計算された値が転記されるようになっており、1から45までのいずれかの数値が入っています。 その数値によって異なる動きをするマクロが3個あります。 1から15の時はマクロA 16から30の時はマクロB 31から45の時はマクロC おのおののマクロはフォームのボタンから実行できるように登録してあります。 現在はA1セルの数値を見て該当するボタンを押してマクロを実行しています。 たとえばA1の値が「25」の時はマクロCが登録してあるボタンCを押しています。 そこで質問させていただきたいのは 既存のボタンを撤廃し 新たに設置するひとつのボタンで3個のマクロを制御したいと思ったのです。 新たなマクロでA1の値を取得し、そのマクロ内で既存のマクロへ割り振るためには どのような記述をすればよいのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのマクロについて
エクセルのマクロ実行についてですが、 例えば、 E1セルの値が1ならばこうする(マクロ名 E1セル1) E2セルの値が2ならばこうする(マクロ名 E1セル2) E3セルの値が3ならばこうする(マクロ名 E1セル3) というマクロを別々に作りました。 これをボタンで実行する時に、 If Range("E1").Value = 1 Then ElseIf Range("E1").Value = 2 Then 2行目には作ったマクロを全部貼り付けないといけないのでしょうか? それとも簡単にこの場合は、マクロ名E1セル1を実行するという命令することができるのでしょうか? できるのであれば、入力方法を教えてください。 質問が分かりにくいと思いますが、よろしくお願いします。
- ベストアンサー
- Windows XP
- エクセル アクティブ中のセルにマクロ実行
表題の件について質問させていただきます。 基本的に数字の入っているセルなのですが、たまに数字の前に備考として特定の文字を入力しています。 特定文字例:東京・千葉・埼玉・鈴木・木村・佐藤 入力後の例:東京232・木村50 その特定の文字の入力には、マクロ登録してあるボタンで実行しています。 ActiveCell.FormulaR1C1 = "特定の文字" さて、質問なのですが、上記ではセルを選択しているときにボタンを押すことで特定文字の入力はきるのですが、入力中っていうのかな?カーソルが点滅している最中にはマクロが実行できないのです。 その為、数字の入った後のセルを選択してボタンを押すと、いちど数字の上に特定文字が上書きで入力されて数字が消えてしまいます。 現在は、ボタンを押して特定文字を入力した後に再度数字を入力しています。 どうにか、セルの選択中でもカーソル点滅中でもマクロを動かすことはできないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 別ファイルからのマクロ実行
Excelファイルにコマンドボタンを設定し、別ファイルのマクロを実行したいのですが、この動作は可能なんでしょうか? マクロの動作設定はしていて、マクロ実行の動きを行いたいのです。 お分かりの方がいらっしゃいましたら、ご回答よろしくお願いします。
- ベストアンサー
- その他(業務ソフトウェア)
お礼
今回はマクロをあきらめました(少し悔しいですが)。 条件付き書式というのがあるのを思い出して、 白くするということで対応しました。 ありがとうございました。
補足
こんにちは。 ご丁寧にありがとうございます。 実は、夜に教えていただいたコードのファイルをいじっていたら、B4以外のアンロックセル(イベントには関係ないただの入力セル)をいじって保存すると、マクロが無効になることがわかりました。やっぱりChange イベントにこの動作がひっかかりこのようなことが起こってしまうかなと思いました。(2007のExcelで97-2003の互換モードで作成しているためそのことも多少影響があるのかもしれませんが・・・)いったんファイルを閉じてマクロを有効にすれば回避はできますが、それだと意味がないので、正直自分のレベルからするとこのイベント・ドリブン型マクロというのは、使いこなせないかなと思いました(せっかく教えていただいたのにすみません。)。作業を低減してもらおうと思って配ったもので困らせてしまうのは本末転倒ですからね。 ボタンをつけてのマクロを作成して試みているのですが、コピーのところでエラーが出てしまい(上書きしてもいいですか?とメッセージが出てマクロが止まる)、その回避を考えています。 書いていただいた内容でよくわからないところがあり、今後のためにできれば教えていただきたいのですが、・・・ Private Function LockSheet(flg As Boolean) ActiveSheet.Protect , _ DrawingObjects:=flg, _ Contents:=flg, _ Scenarios:=flg, _ UserInterfaceonly:=True End Function の代わりに、下記文章をかいたらコンパイルエラーが出てしましました(Sub またはFunctionが定義されていません)なぜだか検討はつきますでしょうか。(面倒でしたら回答なしでOKです^^) Private Sub Workbook_Open() With Worksheets("Sheet1") .UnLock .Protect , _ DrawingObjects:=True, _ Contents:=True, _ Scenarios:=True, _ UserInterfaceonly:=True End With End Sub