[[20180605111733]] 『一定期間内の計算方法』(tada) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一定期間内の計算方法』(tada)

お世話になります。
6/1から8/31までと、9/1から翌年5/31までの掛け率違いを完了日で判断して自動で計算してほしいのです。
現在は期間に関係なく一律での計算で処理しています。

Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Val(TextBox10.Text) = 0 Then
TextBox10.Text = Round(Val(TextBox9.Text) * 0.7, 0)

End If

End Sub

この掛け率 "0.7"が 期間内は"0.8"に変更されます。
"完了日"は、TextBox3に入力されますので、その日付で判断してほしいです。

よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows10 >


 どっちが「期間内」なのか分からないですけど、

 こんな感じじゃないですか?

 >TextBox10.Text = Round(Val(TextBox9.Text) * 0.7, 0) 
                        ↓
  TextBox10.Text = Round(Val(TextBox9.Text) * IIf(Abs(Month(CDate(TextBox3.Text)) - 7) <= 1, 0.7, 0.8), 0)

(半平太) 2018/06/05(火) 11:57


半平太さん、早速ありがとうございます。

期間内の表記がわかりづらく申し訳ないです。期間内 ⇒ 6/1から8/31 です。
教えていただいた表記で試しました、期間が逆になってはいますが、ちゃんと計算してくれます。
期間の反映はどこを変更したらよいのかと、期間の途中から掛け率を変更する場合 〇月〇日から△月×日までとなった場合(例えば、6/10〜8/20までとなった場合)、日付で期間を設定する方法はないでしょうか。TextBox9の入力は "m/d"で入力しております。
よろしくお願いいたします。

(tada) 2018/06/05(火) 13:28


 >〇月〇日から△月×日までとなった場合(例えば、6/10〜8/20までとなった場合)、
 >日付で期間を設定する方法はないでしょうか。
 >TextBox9の入力は "m/d"で入力しております。

 年の情報が含まれてないのですけど、
 「6/10〜8/20」が
 「12/10〜2/20」と言った"年度またぎ" になる事もあるんですか?

(半平太) 2018/06/05(火) 13:56


半太郎さん、申し訳ないです。
TextBox3は、単純にキーボードから6月10日の場合“6/10”と入力しています。
TextBox3から反映するExcelのセルは "yyyy/mm/dd"で表示されています。
訂正です:TextBox9の入力・・・は間違いで TextBox3が正しいです。
以上、よろしくお願いいたします。

(tada) 2018/06/05(火) 14:26


 Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Const term As String = "6/10〜8/20"  '期間を文字で指定

    Dim DTs
    Dim DTd(1 To 2) As Date
    Dim DTx3 As Date

    DTs = Split(term, "〜") '2つの日付文字に分解
    DTd(1) = CDate(DTs(0))  '日付に変換
    DTd(2) = CDate(DTs(1))  '日付に変換’

    If DTd(2) < DTd(1) Then  '年越しアジャスト
        DTd(2) = DateAdd("yyyy", 1, DTd(2))
    End If

    DTx3 = CDate(TextBox3.Text) '日付に変換

    If DTd(1) <= DTx3 And DTx3 <= DTd(2) Then
        TextBox10.Text = Round(Val(TextBox9.Text) * 0.8, 0)
    Else
        TextBox10.Text = Round(Val(TextBox9.Text) * 0.7, 0)
    End If

 End Sub

(半平太) 2018/06/05(火) 14:59


 期間指定が「年末またぎ」になるとトラブル可能性が大です。

(半平太) 2018/06/05(火) 15:01


半平太さん、ありがとうございます。

大変助かりました。
これからもよろしくお願いします。

(tada) 2018/06/05(火) 15:16


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.