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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 隣り合っていないセルを まとめて税込表示したい 8 2022/09/25 14:32
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- その他(Microsoft Office) エクセルの休日について教えてください。 1 2023/01/06 15:45
- Excel(エクセル) xlDownの使い分けについての質問です vbaでxlDownを使って一覧近い空白までのセルをコピー 3 2022/08/04 12:20
- Excel(エクセル) エクセルの数式で教えてください。 4 2023/06/27 09:56
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) if関数とifs関数は組み合わせることはできますか。 セルA1が「A」のとき「向日葵」と表示。 セル 4 2023/02/02 20:48
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
Excel VBAのworkday関数
Excel(エクセル)
-
【VBA】土日をスキップして日付計算
Visual Basic(VBA)
-
-
4
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
5
DATE型変数を初期化する方法
Visual Basic(VBA)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
EXCEL VBA で指定した範囲に入力があるかどうか?
Visual Basic(VBA)
-
8
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
9
エクセルでエラーが出て困っています。
Excel(エクセル)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
VBAで「致命的なエラー」が出ました。どのくらい致命的なんでしょうか?
Access(アクセス)
-
14
ExcelVBAで今開いているユーザ情報を取得できますか?
Visual Basic(VBA)
-
15
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
16
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
17
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
18
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
19
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
20
エクセルのマクロで他のシステムを動かせますか?
その他(ソフトウェア)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
至急!尿検査前日にオナニーし...
-
EXCELで条件付き書式で空白セル...
-
甲状腺が腫れているが血液検査...
-
勃起する時って痛いんですか? ...
-
尿検査前日に自慰行為した時の...
-
値が入っているときだけ計算結...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
MIN関数で空白セルを無視したい...
-
中出しをするとお腹が痛い・・・。
-
EXCELで式からグラフを描くには?
-
【Excelで「正弦波」のグラフを...
-
ある範囲のセルから任意の値を...
-
エクセルのグラフで、値0のとき...
-
リンク先のファイルを開かなく...
-
これって喉仏ですか? 私は女性...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報