|
こんにちは。
>下記のVBAをネット上で見つけたのですが
引用する場合は、ちゃんと出典を提示してください。
ましてや、コードを丸々全部なら絶対に!
それが利用させてもらう側のマナーです。
検索したら↓のようですが‥‥‥
http://ww4.enjoy.ne.jp/~yaayaa/
http://ww4.enjoy.ne.jp/~yaayaa/main41.html
>sdy = Year(sdv): sdm = Month(sdv): sdd = Day(sdv)
>edy = Year(edv): edm = Month(edv): sdd = Day(edv)
コピペを間違えてますね。2行目の[sdd]は[edd]ですよ。
>下記のVBAをネット上で見つけたのですが、
>私の解読力では、「picture1.cls」の意味も分かりませんでした。
そのコードはVBAではなく、VBのものです。
VBAには『ピクチャボックス』というコントロールは有りません。
> picture1.cls
> picture1.Print y; "年"; m; "月"; d; "日"
ピクチャボックスコントロール[picture1]に対して
表示をクリアしてから、[y 〜]以降の内容を表示 という意味です
>どのようにすれば、動きますでしょうか
とりあえずは、picture1 の代わりに、TextBox2 を用意して
Private Sub Command2_Click()
Dim sd As String, ed As String
Dim y As Integer, m As Integer, d As Integer
sd = Text1.Text
ed = Text1.Text
Call kikan2(sd, ed, y, m, d)
TextBox2.Value = y & "年" & m & "月" & d & "日"
End Sub
とすれば動くでしょう。ただし、その結果が、m070504さんの期待通りの結果
かどうかは判りません。
パッと見たところ
・開始月と終了月の端数日数合計で「日数」
・両端の端数日数部分を除いた、真ん中の「正味の暦通りの【月】」の
数から「y年mヶ月」
・「日数」が31日を越えていたら、「月」にシフトアップ
という計算方法のようです。
m070504さんの会社の就業期間の計算方法に合っていますか?
少なくとも、標準の期間計算方法である民法の規定には合っていません。
ただし、m070504さんの会社の規則に合っているのなら、何ら問題はありません。
期間計算は「当事者間での取り決め」に合っているかどうかが基本ですから。
期間計算については下記を読んで下さい。
http://www.h3.dion.ne.jp/~sakatsu/period_topic.htm
民法に即した期間計算マクロは↓で出来ます。
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips05.htm
>採用日と退職日も含まれるように
↓の『+1』を外せば「初日算入」になります
>>dtm起算日 = 開始日 + 1 '民法規定[初日 不算入]
ただし、期間計算、特に就業期間の計算は会社によって様々ですから、
就業規則または、担当者に先ずは確認する事ですね。
「月半ばの入社/退社」でも『その月丸々1ヶ月と見故す』という規則の
所もありますし‥‥‥
|
|