[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ワークシート上のVBAユーザー定義関数を再計算』(ココ)
こんにちは。VBAでユーザー定義関数を複数作成しました。 ワークシート上に複数の関数を配置していますが、一括して再計算したいのですが。
マクロではあったと思いますが、メニューから実行することはできないのでしょうか?
どうぞ宜しくお願いいたします。
Function xxxx() zzzz End Function
このパターンのユーザー関数や
Sub xxxx(param) zzzz End Sub
このパターンのユーザープロシジャなどは
直接マクロ実行から呼び出すことはできません。
再計算をやりたいという意味でしたら、↓の方法です。
Sub caliculateFull() Application.CalculateFull End Sub
もし意味が違って、自分が作ったユーザー関数をまとめて実行したい意味なら
Sub caliculateManual() uFunc1(xx) ret = uFunc2() ... End Sub
(kazu)
割り込み失礼します。
Sub caliculateFull() Application.CalculateFull End Sub
↑おいしく頂きます、ありがとうございます。
Sub Macro1() Calculate End Sub
↑これだと、ユーザー関数は言う事を聞いてくれないんですね。 (jun53)
やはり気にしている人は気がつくのですね。
そうですね、私もColor関数を仕上げるとき再計算してくれないので このへんをネットで調べました。
[あまり役に立たないExcel VBA Help] (1)CalculateFull メソッド: 開かれているすべてのブックに含まれているデータの全計算を実行します。 (2)Calculate メソッド: 計算を実行します。計算の対象となるのは、開かれているすべてのブック、 ブック内の特定のワークシート、ワークシート内の指定されたセル範囲のいずれか です。計算対象と指定例は、次のとおりです。 (a)すべてのブック Application.Calculate または Calculate (b)特定のワークシート Worksheets(1).Calculate (c)指定されたセル範囲 Worksheets(1).Rows(2).Calculate
ヘルプを見る限り、あまり差はないように思えるのですが、 [ブックに含まれているデータの全計算]という部分が違うのでしょうネ。 (kazu)
なるほど、マクロからはこのようにするのですね。 再計算をメニューから行いたいのですが・・・ メニューから、ツール、オプション、計算方法タブに再計算に関する ボタンがありますが、これらは、どちらも実行されませんでした。 ワークシートを閉じて、再度開けば再計算されますが、ちょっと 面倒ですよね。マクロを使わずに済ませるには、 何か良い方法は無いのでしょうか?(ココ)
下の2つの方法が考えられます。
(1)マクロでメニューを作る方法 MenuBars(xlWorksheet).Menus.Add Caption:="Clr" MenuBars(xlWorksheet).Menus("Clr").MenuItems.Add Caption:="再計算", _ OnAction:="caliculateFull" (2)ショートカットを使う方法 [Ctrl]キーを押したまま[Alt]キーを押したまま[Shift]キーを押したまま[F9]を 押してください。 (これでColor関数を百円で販売するためのネタを全部さらけ出してしまいました) (kazu)
kazuさん。うまくいきました。 万事解決です。ありがとうございました。(ココ)
メニューに追加する方法を使われたと思いますが、 ひとつ問題が隠されています。
このマクロが含まれたブック1つ目を開くときは良いですが、もし2つ目を開くと、 Clrメニューがもうひとつできてしまいます。悪しからず。 (しっかり百円で売るためのネタを確保) (kazu)
このデフレ不況のさなか なんとか [百円ネタ] を吐き出させねば・・・ん (jun53)
ううう。 しかたがないですね、考え方だけばらします。 [メニュー]バーに[Clrメニュー]がすでにあったら何もしない。 これ[百円ネタ]。 (kazu)
どうもすみません 又 少し得しました (jun53)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.