• 締切済み
  • 暇なときにでも

EXCELでユーザー定義関数を使用するには

EXCELでユーザー定義関数を使用するにはどうしたらいいのでしょう。 functionを定義して、ワークシートで使用しても、#NAMEエラーが出てしまいます。

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.1
noname#212975
noname#212975

ユーザー定義関数を標準モジュールに定義していますか? 1. Excelを起動後、Alt+F11で VBA Editor に入ります。 2. 挿入/標準モジュール を選択し、標準モジュールを挿入します。 3. ユーザー定義関数を標準モジュールに書きます。 function Test(i as integer) as integer Test = i * 2 end function 4. ワークシートに戻ってユーザー定義関数を呼びます。 =Test(2) 5. ワークシートにユーザー定義関数の結果が返されます。

共感・感謝の気持ちを伝えよう!

質問者からの補足

できました。ありがとうございます。 標準モジュールってのを選んでいませんでした。

関連するQ&A

  • エクセルのユーザー定義関数で(VBA)

    エクセルのVBAで、セルに「=SheetName」と書き込めば、その関数を書き込んだセルが属するシート名をセルに代入さるようなユーザー定義関数を作りたいと考えています。 で、標準モジュールに Public Function SheetName(test) SheetName = ????? End Function と、書き込んでふと止まりました。 ユーザー定義関数を書き込んだシートの名前ってどうやって取得すればいいのでしょうか?VBでいうSenderみたいなのってあるんでしょうか? どなたか?詳しい方教えて頂けないでしょうか? 宜しくお願いいたします。

  • ユーザー定義関数の使用法

    公開されたサイトですばらしいユーザー定義のマクロを見つけました。 ワークシート関数Datedifのバグを解決するものです。 しかし、残念ながら書いてある説明だけでは使い方がわからないのです。 ご教示いただければ幸いです。 これです。↓Public Function ktDATEDIF http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips05.htm

  • ユーザ定義関数がうまく動きません。

    ユーザ定義関数がうまく動きません。 2月のA1セル値が1になっていたりします。 どこがおかしいのかわかりません。解決方法を教えていただけませんでしょうか。 よろしくお願いします。 【シートの設定】 シート名は1月・・・12月です。 各シートの A1セルは「=sheetname()」 B1セルは「月のチェックシート」 が入っています。 【VBAの設定】 Function SheetName() As String 'Application.Volatile If Len(ActiveSheet.Name) = 3 Then SheetName = Left(ActiveSheet.Name, 2) Else SheetName = Left(ActiveSheet.Name, 1) End If End Function

  • ユーザー定義関数の処理

    エラーメッセージに関する以下の関数はどのような処理をする関数ですか? 自分なりに解釈したものを//で書いています。 // エラーがセットされているときは、$errorsを返す // もしセッション変数にエラーがないときは、空の配列を返す function get_errors(){ // セッション変数にエラーがセットされているときは$errorsを以下のように定義する $errors = get_session('__errors'); if($errors === ''){ return array(); } // もしセッション変数にユーザー名($name)がセットされているなら、セッション情報を返す // セットされていないときは空文字を返す function get_session($name){ if(isset($_SESSION[$name]) === true){ return $_SESSION[$name]; }; return ''; } // $nameと$valueを受け取り、セッション情報(ユーザー名)を$valueと定義する function set_session($name, $value){ $_SESSION[$name] = $value; }

    • ベストアンサー
    • PHP
  • エクセルのユーザー定義関数呼び出し方法

    エクセルでユーザー定義関数を作成し personal.xls に登録しておいても,関数名だけでは#NAME?エラーとなり呼び出せません.personal.xls!関数名() と入力すれば呼び出せますが,スマートではありません.作成した関数を複数のブックから使いたい場合,関数名だけで呼び出せる方法がないでしょうか.

  • Excelユーザー定義関数が書き込まれているセルアドレス

    Excelのユーザー定義関数で、自分自身が書き込まれているセルのアドレスって取得出来るのでしょうか? 例えば、 Function test(MyString As String) As String test = "入力された文字は、「" & MyString & "」です" End Function とユーザー定義関数を作り A1のセルに =test("てすと") と書くと 入力された文字は、「てすと」ですと出てきます。 そこで、ユーザー定義関数のなかで、ユーザー定義関数を呼び出した式が入力されている(上記の例ですと、「A1」)アドレスを取得する方法ってありますか? どなたか、詳しい方いらっしゃいましたら教えてください。

  • ユーザー定義関数について

    ここで良いのかわかりませんが質問します。 現在、ExcelVBAをすこしかじりました。 ユーザー定義関数を作りましたが、第三者に簡単にわかるようにしたいと思います。fxボタンを押せばなんとなく第三者でもわかりそうですが、ボタンの存在を知らない人はわからないと思いました。 ワークシート上では直接関数を打てば、直下にコメントのようなスタイルでどの数値を入れればよいか出てくると思います。 =round( と打てば =round( (数値,桁数) というように出てくるのですが、ユーザー定義関数でこのようなことはできるのでしょうか? これが出来る出来ないでは第三者への進め方が大きく違ってきます。 教えてgooはもちろんいろいろ調べましたがわかりません。 何卒ご指導お願いします。

  • Excel VBA ユーザ関数 他ブックセル範囲の引渡し

    Excel VBA の ユーザ関数に、そのユーザ関数を使用するブックとは別のブックのセル範囲を引数で渡したいのですが、可能でしょうか? =test_function('C:\Documents and Settings\hiropon\My Documents\[Book2.xls]Sheet1'!$A$1)みたいな感じで ・・・・ 関数の定義側で オブジェクト変数を用意すればよいのかと思いましたが、だめでした。 Function test_function(myvar As Object) As Vriant  .・・・・・・・ End Function myval.worksheet.name でワークシート名 Sheet1 は 取得できますが パス名とブック名はどうしたらよいのでしょうか? 根本的に違う方法がある? どなたか方法をご教授願います。

  • 選択文字列ではなく引数を太字にするユーザー定義関数

    質問を見ていただき、ありがとうございます。 Excel2010でユーザー定義関数を作っています。 目指している機能は、ワークシート上のセルで =Bold("あいう") とすると あいう が太字で出るというものです。 選択したセルの内容を太字にしたいのであれば、 Function Bold() Selection.Font.Bold = True End Function とすれば良いのですが、引数を指定して Function Bold(S) S.Font.Bold = True End Function としても(当然ながら)うまく行きません。 なんとかして目的の機能を持つユーザー定義関数を作りたいのですが、 良い方法はありませんでしょうか。

  • 書式ごとコピーするユーザー定義関数をつくりたい

    VBA初心者です。 ExcelにてVBAを使用し、書式ごとコピーができるユーザー定義関数の作成を考えております。 理想としては例えば、A1に =GetTxt(INDIRECT("G"&B1)) と入力すれば、B1の値に応じてG列の任意の行のセルを引数として指定でき、 指定先のセルを書式ごとA1にコピーできるGetTxt()関数を定義したいのですが、 具体的にどのようにFunctionプロージャを記述すればいいでしょうか? (コピー元のセルをB1に入力する値に応じて随時自動で変えたいと考えております) 単純に値を返すだけのVBAコードならわかるのですが、 ワークシート上で関数として使用でき、かつ書式なども指定する方法がわかりません。 もしワークシート上での関数としての実行が困難であれば代替案でも構いませんので、 宜しければ何卒ご教示お願い申し上げます。