
No.4ベストアンサー
- 回答日時:
#3さんから回答がでましたので、もういいとは思いますが・・・
#3さんの回答を流用します。
Sub aaa()
a = Range("a1")
b = Range("b1")
If (Application.Run("ATPVBAEN.XLA!Yearfrac", a, b, 3) > 1) Then
MsgBox "1年を超える"
Else
MsgBox "1年を超えない"
End If
end sub
または
sub aaa()
If (Application.Run("ATPVBAEN.XLA!Yearfrac", Range("A1"), Range("B1"), 3) > 1) Then
MsgBox "1年を超える"
Else
MsgBox "1年を超えない"
End If
End Sub
>任意の年月日だから
>range("a1")=datevalue("a1")
>range("b1")=("b1")
>range("c1").formula="=if(yearfrac(a1,b1,3)>1 ・・とすればよいですかね、
任意の年月日というのはA1セルとB1セルに入力すると言う意味ですか?
いまだに質問を理解していなくて、すいません。
No.3
- 回答日時:
ツール→アドインで『分析ツール』と『分析ツール-VBA』の2つをチェックします。
下は2つのセルを引数にしたユーザー定義関数の例です。If以下は例です。
質問で言えば、C1に
=myYearfrac(A1,B1) とします。Yearfracの3番目の引数はユーザー定義関数内で『3』にしています。
『ATPVBAEN.XLA』はYearfracが書き込まれているアドイン名です。(私のExcelはこうでした)
アドインを追加すれば、VBE画面のプロジェクトエクスプローラで確認できます。
Function myYearfrac(rg1 As Range, rg2 As Range)
Dim wariai As Double
wariai = Application.Run("ATPVBAEN.XLA!Yearfrac", rg1, rg2, 3)
If wariai > 1 Then
myYearfrac = "1年超です"
Else
myYearfrac = "~1年です"
End If
End Function
No.2
- 回答日時:
すいません。
質問の意味がわかりません。>a1とb1には任意の年月日を入力して1より大きいかを判定させます
何が1より大きいか判断させたいのでしょうか?
・b1とa1の差?
>その時はDateValue("2001/11/1")や"2001/2/2"の処はどのような
記述になるでしょうか
a1,b1も関数を入れたいのですか?
c1のif文の中身ですか?
もう少し、具体的に質問していただければ、私のわかる範囲で回答いたします。
この回答への補足
済みません、任意の年月日だから
range("a1")=datevalue("a1")
range("b1")=("b1")
range("c1").formula="=if(yearfrac(a1,b1,3)>1 ・・とすればよいですかね、
其れからエクセル関数yearfracのはたらきと同じはたらきをするものはVBAでは何と記載すれば良いでしょうか、
No.1
- 回答日時:
ちょっと、質問の意味がわからないですけど・・・
こんな様な質問ですか?
Sub a()
Range("A1") = DateValue("2001/11/1")
Range("B1") = "2002/2/2"
Range("c1").Formula = "=if(yearfrac(a1,b1,3)>1・・・"
End Sub
・日付はどちらの書き方でも日付とみなしてくれるようです。
・数式は、完了していないとエラーになります。
質問内容が違うときはすみません。
この回答への補足
有り難うございます、お教えの通りでよいのですが、
a1とb1には任意の年月日を入力して1より大きいかを判定させます、
その時はDateValue("2001/11/1")や"2001/2/2"の処はどのような
記述になるでしょうか、何回も済みません、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select caseの入れ子
-
Excel UserForm の表示位置
-
「段」と「行」の違いがよくわ...
-
Excel VBAでのWorksheet_Change...
-
マクロの「SaveAs」でエラーが...
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
土日の列幅の自動変更を教えて...
-
VBA シートをコピーする際に Co...
-
Worksheets メソッドは失敗しま...
-
Excel グラフのプロットからデ...
-
【マクロ】実行時エラー '424':...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAで結合セルを転記する法を教...
-
エクセルVBAが途中で止まります
-
EXCELで最後の行を固定
-
エクセル マクロで数値が変っ...
-
エクセルで離れた列を選択して...
-
マクロ実行後に別シートの残像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
select caseの入れ子
-
エクセルで選択したセルがディ...
-
VBAバーコード照合 バーコード...
-
エクセルを開いたらカウントし...
-
ListBox1 ListBox2 条件抽出
-
VBAにて『元に戻すボタン』を作...
-
指数関数近似を行うプログラム...
-
vbs 文字位置を中央に
-
再帰構造のアルゴリズムで困っ...
-
打込み作業の自動化
-
エクセルVBAで、ユーザーボック...
-
配列の値を保持しながら要素を...
-
スペース区切りのAND検索
-
VBA sum ワークシートChange
-
【マクロ】実行時エラー '424':...
-
「段」と「行」の違いがよくわ...
-
Excel UserForm の表示位置
-
エクセルで離れた列を選択して...
-
マクロの「SaveAs」でエラーが...
おすすめ情報