エクセルVBAについて質問です。特定の関数を実行せよというマクロを教えてください。具体的には下記のページの質問の回答者1さんの関数をマクロで実行する方法を教えてください。

http://q.hatena.ne.jp/1158311664
なお正解された方には追加ポイントが無い状態で平等に振り分けますが、以前の質問で回答者4さんのような解説を付け加えていただいた方にはもれなくプラス30ポイントのおまけを付けます。もちろんそれが必要なければマクロだけ教えてくださっても結構です。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/09/17 06:49:39
  • 終了:2006/09/17 07:36:42

回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/09/17 07:26:03

ポイント90pt

マクロの実行の仕方は いろいろあります。

通常、私が回答しているやり方は、キーボードからの実行です。

主にあまり使われない Ctrl+qを 実行用に割り当ててます。

http://kiyopon.sakura.ne.jp/vba/index.htm

こちらの「「マクロの記録」を利用して、簡単なマクロを作成する 」というやり方で

ショートカットキーの欄に q と入れます。

ショートカットキーは q でなくても いいのですが ほかに 使うキーを 割り当ててしまうと その既存の機能が 使えなくなってしまうので なるべく 使わない機能か 割り当てがないキーを指定します。

これで 作成したマクロは「作成したマクロを実行する」から実行できます。

また、標準モジュールのファイルに作成したマクロがあれば ここから実行できるはずです。


■ほかに イベント駆動という起動のさせかたがあります。

http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040727.html

たとえば、シートの値を変更したときに 実行させるというようなやり方です。

このようなイベントは いろいろあります。

■マクロ内からマクロの起動

http://www.uopmu.ees.osakafu-u.ac.jp/~yabu/soft/excel.html

Call sub1(i,j)

あるいは

sub1 i, j

で参照渡し。Call を付けない場合、

sub1 (i), j

とすると、i のみ値渡し。

sub1 (i), (j)

とすると i, j ともに値渡し。

前の質問の回答は

test()

call test()

とすればいいですね。

あと、前の質問の回答では できませんが、Functionだと

シートのセルに

=test(1)

といった感じで 値をセットして マクロを実行させるというやり方もあります。

id:taroemon

いつもご回答ありがとうございます。

大変参考になりました。

2006/09/17 07:34:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません