No.5ベストアンサー
- 回答日時:
始めまして。
回答いたします。今回の関数(WorkDay)は、アドインの関数であるため以下のような方法で呼び出します。
Range("A3").Value = Application.Run("ATPVBAEN.XLA!WorkDay" , Range("A1").Value , Range("A2").Value , Range("F10").Value)
この方法は、VBAを実行するブック以外のブックに定義してあるマクロ(VBA)を呼び出すのと同じ方法です。
例:
FileA.xls 内に
Public Function Test(byref strValue as String) As String
という定義の関数があったとします。
それを
FileB.xls内で使用したいときには
strGet = Application.Run("FileA.xls!Test","strValue に与える値")
として実行すると「strGet」に関数「Test」の結果が戻ってきます。
※注意としては、FileA.xlsが同一のExcel内に開かれている必要があります。
つまり「WorkDay関数はアドインの『分析ツール-VBA』=『ATPVBAEN.XLA』内で定義してある関数」という捕らえ方で実行してやれば問題ありません。
takkunnetさん、ご回答ありがとうございました。
色んな方々が教えて下さいましたが、初心者の私のレベルでは
教えて頂いた意味さえ理解できないことであったりで、応用するにも、戸惑ってしまったりしてしまう有様でした。
takkunnetさんが教えて下さったご回答が、一番簡潔で
しかも、私が求めていた通りの答えを得ることができました。
本当にありがとうございました。
No.4
- 回答日時:
こんにちは。
理由は良く分りませんが、"分析ツール - VBA" (ATPVBAEN.XLA) というのは、古いタイプのXll(Excel Ver 4.0)で作られたようで、やってみましたが、生きていませんね。
通常、VBE側で、参照設定すれば、その関数のメンバが出てくるはずですが、出てきません。ただし、オブジェクトブラウザでは表示されます。私の知る範囲ですが、これは、一旦、グローバル化させるために、Auto_Open が必要だという話を以前聞いたことがあります。これについては、定かではありません。私の持っているマニュアルでは、多少、ATPVBAEN.XLA の辺りが触れられていますが、今、十分に調べていないので、あやふやです。
とりあえず、難しい話は置いておいて、funcres(FUNCRES.XLA) 側からアクセスしてみました。つまり、ワークシート側で「分析ツール」にアドインしてあれば、これは、戻り値を返しますので、VBE側の "分析ツール - VBA"の参照設定は必要ありません。
Sub AddinTest1()
Dim StartDate As String '開始日
Dim DateCount As String '日数
Dim Ret As Variant '戻り値
StartDate = """" & Format$(Range("A1").Value2, "yyyy/mm/dd") & """"
DateCount = Range("A2").Value
'FUNCRES.XLA 側
Ret = Evaluate("WORKDAY(" & StartDate & "," & DateCount & ")")
If Not IsError(Ret) Then
Range("A3").Value = Format$(Ret, Range("A1").NumberFormatLocal)
Else
Range("A3").Value = CVErr(xlErrNA)
End If
End Sub
もう少し、この件は、調べてみたいと思います。
Wendy02さん、ご回答ありがとうございます!
色々と調べて下さり、本当に感謝の言葉の言いようもありません。
私の説明が悪かったのか、休日を除外した日付の計算をしたかったので
その指定をどこにどう入れればいいか悩んでいるところに
No.5のtakkunnetさんが教えて下さいましたので、そちらを応用して使用させて頂くことにしました。
funcres(FUNCRES.XLA) 側って何?
アドインって???
などと言うレベルの私が、こんな質問をさせて頂くのは百年早いかもしれませんね。(汗)
それなのにご親切に本当にありがとうございました。
No.3
- 回答日時:
#1補>教えて頂いた方法で実行すると、下記のエラーになってしまいます。
WorksheetFunctionのメンバの中にWorkday関数は無いです。
#1の回答は、実際に動作するかを調べないで書いているものと思います。
No.1
- 回答日時:
VBAでエクセルの関数を使いたい場合は、エクセルオブジェクトのWorksheetFunction関数を使います。
Range("A3") = Application.WorksheetFunction.Workday(A1,A2,F1:F10)
参考URL:http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
この回答への補足
Batistutaさん、早速ご回答ありがとうございます!
教えて頂いた方法で実行すると、下記のエラーになってしまいます。
実行時エラー'438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
参照設定等、どこかにチェックが必要だったりするのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
Excel VBAのworkday関数
Excel(エクセル)
-
Excel VBA コンボボックスで空白を削除
その他(Microsoft Office)
-
-
4
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
5
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
エクセルでエラーが出て困っています。
Excel(エクセル)
-
8
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
11
【VBA】土日をスキップして日付計算
Visual Basic(VBA)
-
12
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
13
EXCEL VBA マクロ 実行する度に処理速度がどんどん遅くなる原因が知りたい
Excel(エクセル)
-
14
findは動くがfindnextがマクロで動きません。記述は同じはずなのですが…
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
2つの数値のうち、数値が小さい...
-
EXCELで条件付き書式で空白セル...
-
小数点以下を繰り上げたものを...
-
精液の落とし方を教えてください
-
知能テストは、今。 義務教育課...
-
MIN関数で空白セルを無視したい...
-
エクセルで数式の答えを数値と...
-
エクセル指定した範囲からラン...
-
エクセルでエラーが出て困って...
-
excelのIF関数 A,Bの大きいほ...
-
エクセルのラベルの値(文字列...
-
リンク先のファイルを開かなく...
-
勃起する時って痛いんですか? ...
-
VLOOKUP関数を使用時、検索する...
-
ある範囲のセルから任意の値を...
-
イタリアから帰国する際、肉製...
-
精子が黄色?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
勃起する時って痛いんですか? ...
-
精子が黄色?
-
検便についてです。 便は取れた...
-
これって喉仏ですか? 私は女性...
-
小数点以下を繰り上げたものを...
-
甲状腺が腫れているが血液検査...
-
精液の落とし方を教えてください
-
エクセル指定した範囲からラン...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
精子に血が・・・
-
エクセルのラベルの値(文字列...
-
イタリアから帰国する際、肉製...
-
ある範囲のセルから任意の値を...
-
リンク先のファイルを開かなく...
-
中出しをするとお腹が痛い・・・。
-
MIN関数で空白セルを無視したい...
おすすめ情報