• ベストアンサー

「ワークシート関数」

良くわからないのですが エクセルのワークシートで使う関数を「ワークシート関数」と言い、 VBAで使うワークシート関数を「WorksheetFunction関数」と言うのですか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

「WorksheetFunction関数」などという言い回しは聞いたことありませんが、VBAのヘルプでWorksheetFunctionのところを読んでみると --------------------- WorksheetFunction オブジェクト Visual Basic から呼び出すことができる Excel ワークシート関数のコンテナーとして使用されます。 --------------------- と解説があります。 worksheetfunctionを経由しているだけで、ワークシート関数はワークシート関数だと書いてあります。

lwofwexpsao
質問者

お礼

ありがとうございました。

その他の回答 (2)

回答No.3

VBAでワークシート関数を使うためのオマジナイ、ソレが「WorksheetFunction」、、、 古来、プログラミングで「Function」は、「関数」と表記されてきた。 EXCELとVBAには共通の「関数」もあれば、それぞれ個別のものもある。同じ機能のものがあったとしても、当然記法は異なる。 そして、VBAには「メソッド」があるが、コレも「関数」みたいなもの、で間違いないだろう。 Visual Basic 中学校 > 初級講座 > 第5回 メソッドと関数 http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard5.htm

lwofwexpsao
質問者

お礼

ありがとうございました。

回答No.1

まずは辞書を引いてみることをお勧めします。

lwofwexpsao
質問者

お礼

ありがとうございました。

関連するQ&A

  • ワークシート関数とはどのことなのですか?

    【1】エクセルのワークシート上で使う=TODAY()などの関数 【2】VBAのCountなどのWorksheetFunction 【3】VBAのLENなどの関数 どれのことを俗に言う「ワークシート関数」と言うのでしょうか? VBAで使う【2】【3】のことですか?

  • VBA ワークシート関数のエラー

    シートに数式を入れていたものを、VBAで値のみ入力しようと考えています。 そこで、.Cells(1,1) = WorksheetFunction.数式といった形のメソッドを試しています。 しかし、複雑な数式を記述するとエラーが出てしまいます。 成功 (iferrorというワークシート関数が1つ) Debug.Print WorksheetFunction.IfError(1 / .Cells(1, 5) + 1 / .Cells(1, 6) + 1 / .Cells(1, 7) - 1, "P") 失敗(ワークシート関数のifとcountifなど複数のものが数式に混入) Debug.Print WorksheetFunction.If(CountIf(Range("C17:D49"), Range("C29")) > 5, Range("C29"), Range("D29")) Countifの場所でエラーになります。このcountifを使えるようにするためには、どうすればよいのでしょうか? WorksheetFunction.if(WorksheetFunction.Countif(、、、、という書き方はダメでした。 数式が汚くてすみません。 宜しくお願いいたします。

  • Excel ワークシート関数をVBAで使用したい

    お世話になります。 Excelでワークシート関数をVBAで使用したいのですが、うまくいきませんでした。 関数ですと「ISERROR(FIND(V$10,R$11))=FALSE」のような式をVBA上で使用したいと思い、以下のようにコードを書いてみましたが If Application.WorksheetFunction.IsError(Application.WorksheetFunction.Find(Cells(i, j), Cells(i, 18))) = False Then Cells(i, j).Select End If 「実行時エラー'1004' WorksheetFunction クラスのFindプロパティを取得できません」となります。 入れ子が問題なのでしょうか。 よろしくお願いします。

  • VBAでワークシート関数を使用するときの注意点は

    WindowsXPのExcel2003のVBAで作った物を、別のPCで動作させたところコンパイルエラーが出て動きません。 作成段階でのTESTまでは何の不具合もなく正常なのですが、別のPCでは構文エラー(たぶん)が出るのです。 ワークシート関数の構文らしく、関数の前に"Application.WorksheetFunction."を付けていないのが原因と思われます。 質問は2つで、 1.全てのワークシート関数には"Application.WorksheetFunction."文を付けなければならないか? 2.作成PCと動作PCが違う場合、同じモジュールでも違う動作をするのか? また、その場合の原因も。 どなたかご教示下さい。 お願いします。

  • エクセルVBA ワークシート関数の使用について

    エクセル2003VBA ワークシート関数の使用についての質問です よろしくお願いします。 4桁の数字を、千の位・百の位・十の位・一の位に分解する関数ですが 例えば A1に4桁の数字があり、B1に千の位を表示する場合ですが ワークシート関数の場合 B1=MOD(INT($A$1/1000),10) となりますが VBAにてそのまま使用し Range("B1").value=Application.WorksheetFunction.MOD(INT(Range("A1")/1000),10)とするとエラーになります。 エラーになる原因は、いろいろ調べたら分かったのですが この様に、一発でB1に計算結果を入れたいのですが、どうしたらよろしいでしょうか 現在は、 Range("C1").Formula = "=MOD(INT(A1/1000),10)" Range("B1").value=Range("C1").value 一旦、C1に置き換えてから行っています。 よろしくお願いします

  • VBAで使えないワークシート関数は

    エクセルVBAで、ワークシート関数を使う場合に、findやmatchなどの検索関数が使えないのですが、何か別の関数が用意されているのでしょうか? やりたいことは、セルの中の文字列を、区切りのスペース文字で分解したいのですが。区切り文字の位置を知るfindが使えません。

  • countif/sumifのようなVBA関数

    こんにちは エクセルVBAで配列aをワークシート関数countifで計算したいのですが、できないようです。代わりになるVBA関数はないでしょうか?もしくは、代替可能な方法はないでしょうか?sumifの代わりもご教示ください! よろしくお願いします。 --------------- a(0)=1 a(1)=10 a(2)=100 msgbox worksheetfunction.countif(a,">50") 'ここでエラーとなる。 -- エクセル2003

  • Excelの条件付き書式設定とワークシート関数

    Excelのシート上で条件付き書式設定により、セルに色を 付けるようにしています。また、VBAでワークシート関数 を作りこみ、そのシートである色で塗りつぶされたセル の数を数えるようにしています。 このとき、条件付き書式設定によりセルに色が付いてい る箇所は、ワークシート関数によって塗りつぶしの色と して認識されないようです。 ワークシート関数で「ある色」かどうかを判定するの は、Interior.ColorIndexを使用しています。条件付き 書式設定によってセルの色が付いている箇所は、このプ ロパティ値が-4142になっています(つまり、「塗りつぶ しなし」とみなされている)。 条件付き書式設定で色が付けられる状態のまま、ワーク シート関数で塗りつぶしの色が認識できるようにする方 法はあるのでしょうか? 分かりましたら教えてくださ い。

  • Excelで複数のワークシートのデータを1つのワークシート

    Excelで、複数のワークシート(22ワークシート)のデータを1つのワークシートにまとめたいのですが、関数か何かで出来る方法はないでしょうか?.1ワークシートの行数は、まちまちですが、平均6000行ほどあります。

  • EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作り

    EXCELのVBAで、あるワークシートでのみ使うユーザーフォームを作りました。そのワークシート上での定数や、プロシージャや関数をワークシートのモジュールに置いています。そして、その定数や関数などをユーザーフォームのイニシャライズなどで使いたいと思いますが、ユーザーフォームのモジュールはワークシートのモジュールとは別なので、使えません。他への影響を考えると、標準モジュールには、置くのは不適切だと思います。 特定のワークシート上でのみ使うユーザーフォームと、そのワークシートとで、共通の定数や関数などを使う方法は、あるのでしょうか。どのようにすればよいのでしょうか。

専門家に質問してみよう